úÎbä\O=      !"#$%&'()*+,-./0123456789:;< Safe-Inferred =>?@ABCDEFG>CDEFG =>?@ABCDEFGNoneHrequested package id could not be found in any of the package databases ,attempt to register in the global db when it's not present 2attempt to register an already present package id "package db file could not be read 8package database could not be parsed or contains errors FA flag which tells whether the library should create an empty package  database if it doesn' t exist yet Package database class. db@ will typically be a newtype-wrapped path to the database file, < although more sophisticated setups are certainly possible. Consider using  ( first, and implement your own database  type if that isn' t enough. 8The name of the database. Used to construct some paths. Read a package database. FIf the database does not exist, then the first argument tells whether C we should create and initialize it with an empty package list. In  that case, if  is specified, a BadPkgDb exception is  thrown. Write a package database 7Get the location of a global package database (if there's one) .Create a db object given a database file path 2Convert a package db specification to a db object The user database >Get all packages that are registered in a particular database If the database doesn'(t exist, the behaviour is determined by  . Try to retrieve an InstalledPackageInfo for each of  Hs from a specified set of Is.  May throw a  exception. If a database doesn'(t exist, the behaviour is determined by  . >This function determines whether a package database should be  initialized if it doesn' t exist yet. HThe rule is this: if it is a global or a user database, then initialize  it; otherwise, don't. ERationale: if the database was specified by the user, she could have # made a mistake in the path, and we'!d rather report it. On the other C hand, it is our responsibility to ensure that the user and global  databases exist. >Make all paths in the package info relative to the given base  directory. CMake all relative paths in the package info absolute, interpreting , them relative to the given base directory. GApply a given function to all file paths contained in the package info !GIf the path does not exist, create an empty database there. Otherwise,  do nothing. 7  !JKLMNOPQRSTUVWXYZ[\]^_`   !    !'    !JKLMNOPQRSTUVWXYZ[\]^_`None "%A standard module monad transformer. i is the type of module info, m is the underlying monad. #GDifferent libraries (Cabal, haskell-src-exts, ...) use different types . to represent module names. Hence this class. %1This class defines the interface that is used by ,, so * that you can use it in monads other than ". You don'At typically have to define your own instances of this class, but , here are a couple of cases when you might:  A pure (non-a+) mockup module monad for testing purposes  A transformer over " 9 You need a more complex way to retrieve the module info &The type of module info *BRead the module info, given a list of search paths and the module  name +:Convert module name from arbitrary representation to Cabal's one ,GTries to find the module in the current set of packages, then find the  module'0s info file, and reads and caches its contents. Returns b8 if the module could not be found in the current set of G packages. If the module is found, but something else goes wrong (e.g.  there'0s no info file for it), an exception is thrown. -Run a " action .Run a " action.  This is a simplified version of -. "cd#$%&'()*+,ef-the monadic action to run &packages in which to look for modules file extension of info files *how to read information from an info file initial set of module infos Ereturn value, plus all cached module infos (that is, the initial set : plus all infos that have been read by the action itself) .the monadic action to run &packages in which to look for modules file extension of info files *how to read information from an info file ghijklm "#$%&'()*+,-. ",.-%&'()*#$+"cd#$%&'()*+,ef-.ghijklmNone (An abstraction over a Haskell compiler. Once you' ve written a  Compiler. instance, you get Cabal  integration for free (via Compiler.). Consider whether  Compiler./% suits your needs  then you need to  write even less code. Minimal definition: 0, 1, 2, 3,  4, 5, 6. 3 are only used for 7, so if you define  a custom 7, 3 won't be used (but you' ll still 2 get a compiler warning if you do not define it). 0'The database type used by the compiler 1Compiler'#s name. Should not contain spaces. 2Compiler' s version 3DFile extensions of the files generated by the compiler. Those files * will be copied during the install phase. 4 How to compile a set of modules 5.Languages supported by this compiler (such as  Haskell98,   Haskell2010 etc.) 6&Extensions supported by this compiler 8DRegister the package in the database. If a package with the same id = is already installed, it should be replaced by the new one. 9Unregister the package ;Compilation function /nopqrst01234567 build dir  target dir !target dir for dynamic libraries 89:;build directory optional default language default extensions  CPP options /name and version of the package being compiled package db stack to use  dependencies list of files to compile u<compiler name compiler version $extensions that generated file have v/0123456789:;<0123456789:;/< 0123456789:/nopqrst;u<vNone wxyz{|}~€ wxyz{|}~€None-  !"#$%&'()*+,-.      !"#$%&'()*+,-./0123456789:;<=>?@ABC8DEFGHIJKLMNOMPQRSTUVWXYZ[\]^_`abcdefghijklmn(opqrstuvwx5yz{|}~€‚ƒ„…†‡ˆ‰Šhaskell-packages-0.2.2"Distribution.HaskellSuite.Compiler"Distribution.HaskellSuite.Packages!Distribution.HaskellSuite.ModulesPaths_haskell_packagesDistribution.HaskellSuite.CabalDistribution.HaskellSuiteIsmain PkgInfoErrorPkgInfoNotFound PkgDBErrorRegisterNullDB PkgExistsPkgDBReadErrorBadPkgDB StandardDBIsDBName getDBName MaybeInitDB Don'tInitDBInitDB IsPackageDBdbName readPackageDBwritePackageDBglobalDB dbFromPathlocateDBuserDBPackagesgetInstalledPackagesreadPackagesInfo maybeInitDBmakePkgInfoRelativemakePkgInfoAbsolutemapPathswriteDBreadDBinitDBModuleTModName modToString MonadModule ModuleInfo lookupInCache insertInCache getPackagesreadModuleInfoconvertModuleName getModuleInfo runModuleT evalModuleTSimpleDBnameversionfileExtensionscompile languageslanguageExtensions installLibregister unregisterlist CompileFnsimplecatchIObindirlibdirdatadir libexecdir getBinDir getLibDir getDataDir getLibexecDirgetDataFileName Cabal-1.16.0Distribution.PackageInstalledPackageIdDistribution.Simple.Compiler PackageDBhaskellPackagesDir errPrefix stdToJSON stdFromJSON$fFromJSONInstalledPackageInfo_$fToJSONInstalledPackageInfo_$fFromJSONInstalledPackageId$fToJSONInstalledPackageId$fFromJSONPackageIdentifier$fToJSONPackageIdentifier$fFromJSONPackageName$fToJSONPackageName$fFromJSONModuleName$fToJSONModuleName$fFromJSONVersion$fToJSONVersion$fFromJSONLicense$fToJSONLicense$fShowPkgInfoError$fExceptionPkgInfoError$fExceptionPkgDBError$fShowPkgDBError$fIsPackageDBStandardDBtransformers-0.3.0.0Control.Monad.IO.ClassMonadIObase Data.MaybeNothing unModuleTfindModule'sPackage mapModuleT$fMonadStatesModuleT$fMonadReaderrModuleT$fMonadModuleModuleT$fMonadIOModuleT$fMonadTransModuleT$fModNameModuleName $fModName[]stNamestVerstLangs stLangExts stCompilestExts removePackage $fIsSimpleModuleNotFound findModules findModule pkgDbParser pkgIdParserpkgDbStackParser cppOptsParser$fExceptionModuleNotFound$fShowModuleNotFound