packages feed

shaker 0.4.3 → 0.5.0

raw patch · 48 files changed

+874/−1605 lines, 48 filesdep +haskell-srcdep ~QuickCheckdep ~bytestringdep ~mtlsetup-changed

Dependencies added: haskell-src

Dependency ranges changed: QuickCheck, bytestring, mtl

Files

Setup.hs view
@@ -1,16 +1,9 @@ #!/usr/bin/env runhaskell  import Distribution.PackageDescription-import System.FilePath-import System import Distribution.Simple import Distribution.Simple.LocalBuildInfo--main = defaultMainWithHooks hooks-  where hooks = simpleUserHooks { runTests = runTests' }---runTests' :: Args -> Bool -> PackageDescription -> LocalBuildInfo -> IO ()-runTests' _ _ _ lbi = system testprog >> return ()-  where testprog = (buildDir lbi) </> "test" </> "test" +import System+import System.FilePath +main = defaultMain
prog/Shaker.hs view
@@ -4,7 +4,7 @@ import Shaker.Type import Shaker.Conductor import Shaker.Parser-import Shaker.Cabal.CabalInfo+import Shaker.CabalInfo import Control.Monad.Reader import System.Environment @@ -24,7 +24,7 @@   lift $ either errAction (okAction shIn) either_command    return ()    where -        errAction = putStrLn . show +        errAction = print         okAction :: ShakerInput -> Command -> IO()         okAction shIn command = do            putStrLn ("Executing " ++ show command) 
shaker.cabal view
@@ -1,5 +1,5 @@ name: shaker-version: 0.4.3+version: 0.5.0 cabal-version: >= 1.8 build-type: Custom license: BSD3@@ -53,10 +53,6 @@   .   [@test-module@] Same as test but test-module takes one or several module patterns as arguments.   .-  [@itest@] Launch all quickcheck properties and hunit tests using test-framework on compiled modules. Same as test, you can give a regexp as argument. This action is only useful when used with continuous action. -  .-  [@itest-module@] Same as itest but itest-module takes one or several module patterns as arguments.-  .   [@quit@] Exit the application. You can also use ^C or ^D to exit shaker.   .    /Examples with interactive prompt/@@ -71,15 +67,11 @@   .   [@% test@] Execute all tests in the project   .-  [@% ~itest@] Switch to continuous mode and execute tests on compiled modules.-  .   [@% test prop_.*@] Execute all quickcheck properties of the project.    .   [@% test testExecute.* testFilter.* @] Execute all tests matching testExecute.* or testFilter.*   .   [@% test-module Regex Refle@] Launch all tests in modules matching Regex.* or Refle.*-  .-  [@% ~itest-module Regex Refle@] Launch all tests in modules matching Regex.* or Refle.* only when they are build.   .    /Examples with command-line/   .@@ -88,18 +80,7 @@   [@% shaker \"~fullcompile\" @] Launch shaker, continuously execute the fullcompile action until shaker is interrupted.   .  --extra-source-files: README TODO testsuite/tests/resources/invalidMain/dist/setup-config-    testsuite/tests/resources/invalidMain/src/Main.hs-    testsuite/tests/resources/invalidMain/tests/Dummy.hs-    testsuite/tests/resources/invalidMain/invalidMain.cabal-    testsuite/tests/resources/cabalTest/dist/setup-config-    testsuite/tests/resources/cabalTest/cabalTest.cabal-    testsuite/tests/resources/cabalTest/src/Main.hs-    testsuite/tests/resources/cabalTest/src/CabalTest.hs-    testsuite/tests/resources/noSourceConfig/noHsSource.hs-    testsuite/tests/resources/noSourceConfig/noHsSource.cabal-    testsuite/tests/resources/noSourceConfig/dist/setup-config+extra-source-files: README TODO   source-repository head   type:     git@@ -114,39 +95,43 @@   ghc-options: -Wall -fno-warn-orphans    hs-source-dirs:  src   exposed-modules:-    Shaker.Parser+    Shaker.Action.Compile     Shaker.Action.Standard     Shaker.Action.Test-    Shaker.Action.Compile+    Shaker.CabalInfo+    Shaker.CabalInterface+    Shaker.Cli     Shaker.Conductor     Shaker.Config-    Shaker.TestTH+    Shaker.GhcInterface+    Shaker.HsHelper+    Shaker.Io+    Shaker.Listener+    Shaker.ModuleData+    Shaker.Parser     Shaker.PluginConfig     Shaker.Reflexivite     Shaker.Regex-    Shaker.Cli-    Shaker.Io-    Shaker.SourceHelper-    Shaker.Cabal.CabalInfo-    Shaker.Type-    Shaker.Listener     Shaker.TestHelper+    Shaker.TestTH+    Shaker.Type   build-depends: base == 4.*+                 ,bytestring == 0.9.*                  ,Cabal == 1.8.*                  ,containers == 0.3.*-                 ,haskeline == 0.6.*                  ,directory == 1.0.*                  ,filepath == 1.1.*                  ,ghc == 6.*                  ,ghc-paths == 0.1.*+                 ,haskeline == 0.6.*                  ,haskell98 == 1.0.*-                 ,mtl == 1.1.*+                 ,haskell-src == 1.0.*+                 ,HUnit == 1.2.*+                 ,mtl == 2.*+                 ,old-time >= 1.0.0                  ,parsec == 3.*+                 ,QuickCheck == 2.3.*                  ,regex-posix == 0.94.*-                 ,old-time >= 1.0.0-                 ,bytestring >= 0.9.1.0-                 ,HUnit == 1.2.*-                 ,QuickCheck == 2.*                  ,template-haskell >= 2.4.0.0                  ,test-framework == 0.3.*                  ,test-framework-hunit == 0.2.*@@ -157,67 +142,24 @@   ghc-options: -Wall -fno-warn-orphans    hs-source-dirs: prog src   build-depends: base == 4.*+                 ,bytestring == 0.9.*                  ,Cabal == 1.8.*                  ,containers == 0.3.*-                 ,haskeline == 0.6.*                  ,directory == 1.0.*                  ,filepath == 1.1.*                  ,ghc == 6.*                  ,ghc-paths == 0.1.*-                 ,haskell98 == 1.0.*-                 ,mtl == 1.1.*-                 ,parsec == 3.*-                 ,regex-posix == 0.94.*-                 ,old-time >= 1.0.0-                 ,bytestring >= 0.9.1.0-                 ,HUnit == 1.2.*-                 ,QuickCheck == 2.*-                 ,template-haskell >= 2.4.0.0-                 ,test-framework == 0.3.*-                 ,test-framework-hunit == 0.2.*-                 ,test-framework-quickcheck2 == 0.2.*--flag test-  description: Build test program.-  default:     False--Executable test-  hs-source-dirs:  testsuite/tests src -  main-is:         RunTestTH.hs-  ghc-options: -Wall -fno-warn-orphans-  other-modules: -    RunTestTH-    Shaker.RegexTest-    Shaker.Properties-    Shaker.Action.CompileTest-    Shaker.IoTest-    Shaker.CliTest-    Shaker.CommonTest-    Shaker.ParserTest-    Shaker.SourceHelperTest-    Shaker.Cabal.CabalInfoTest-    Shaker.ListenerTest-    Shaker.ReflexiviteTest-    Shaker.ConductorTest-  build-depends: base == 4.*-                 ,Cabal == 1.8.*-                 ,containers == 0.3.*                  ,haskeline == 0.6.*-                 ,directory == 1.0.*-                 ,filepath == 1.1.*-                 ,ghc == 6.*-                 ,ghc-paths == 0.1.*                  ,haskell98 == 1.0.*-                 ,mtl == 1.1.*+                 ,haskell-src+                 ,HUnit == 1.2.*+                 ,mtl == 2.*+                 ,old-time >= 1.0.0                  ,parsec == 3.*+                 ,QuickCheck == 2.3.*                  ,regex-posix == 0.94.*-                 ,old-time >= 1.0.0-                 ,bytestring >= 0.9.1.0-                 ,HUnit == 1.2.*-                 ,QuickCheck == 2.*                  ,template-haskell >= 2.4.0.0                  ,test-framework == 0.3.*                  ,test-framework-hunit == 0.2.*                  ,test-framework-quickcheck2 == 0.2.*-  if !flag(test)-    buildable:     False+
src/Shaker/Action/Compile.hs view
@@ -1,30 +1,32 @@-module Shaker.Action.Compile(-    runCompile-    ,runFullCompile-    ,ghcCompile-  )+module Shaker.Action.Compile+  (runCompile ,runFullCompile ,ghcCompile)  where -import Shaker.SourceHelper-import GHC+import Control.Monad.Reader import DynFlags +import GHC import GHC.Paths+import Shaker.CabalInterface+import Shaker.GhcInterface+import Shaker.ModuleData import Shaker.Type-import Control.Monad.Reader  -- | Run haskell compilation on given CompileInput list runCompile :: Plugin-runCompile = asks compileInputs >>= mapM (lift . runSingleCompileInput )  >> return ()+runCompile = applyPreprocessSources >> asks shakerCompileInputs >>= foldM runUntilFail Succeeded >> return ()++runUntilFail :: SuccessFlag -> CompileInput -> Shaker IO SuccessFlag+runUntilFail Succeeded cpIn = runSingleCompileInput cpIn+runUntilFail Failed _ = return Failed   -- | Run haskell compilation on all haskell files runFullCompile :: Plugin-runFullCompile = getFullCompileCompileInput >>= lift . runSingleCompileInput +runFullCompile = applyPreprocessSources >> convertModuleDataToFullCompileInput >>= foldM runUntilFail Succeeded >> return() -runSingleCompileInput :: CompileInput -> IO()+runSingleCompileInput :: CompileInput -> Shaker IO SuccessFlag runSingleCompileInput cplInp = do-        putStrLn $ concat ["   --------- ", cfDescription cplInp," ---------"]-        putStrLn $ concat ["   --------- ", "Compiling target : "++ show (cfTargetFiles cplInp) ," ---------"]-        _ <- defaultErrorHandler defaultDynFlags $ +        lift $ putStrLn ""+        lift $ putStrLn $ concat ["--", "Compiling target : "++ show (compileInputTargetFiles cplInp) ,"--"]+        lift $ defaultErrorHandler defaultDynFlags $                      runGhc (Just libdir) $ ghcCompile cplInp -        return () 
src/Shaker/Action/Standard.hs view
@@ -2,17 +2,16 @@ module Shaker.Action.Standard  where -import Shaker.Type-import qualified Data.Map as M-import Control.Monad.Trans+import Control.Concurrent import Control.Monad.Reader+import qualified Data.Map as M+import Shaker.Type import System.Directory-import Control.Concurrent  -- | Print the list of available actions runHelp ::  Plugin runHelp = do -  commands <- asks commandMap +  commands <- asks shakerCommandMap    lift $ do      putStrLn "Following actions are available : "   print $ M.keys commands@@ -22,13 +21,13 @@ runExit :: Plugin runExit = do   lift $ putStrLn "Exiting"-  quit_token <- asks (quitToken . threadData)+  quit_token <- asks (threadDataQuitToken . shakerThreadData)   lift $ putMVar quit_token 42  -- | Print a begin action notification runStartAction :: Plugin runStartAction = lift $ -  putStrLn "---------- Begin action -------------------------"+  putStrLn "-- Begin action --"  runEmpty :: Plugin runEmpty = return ()@@ -36,17 +35,16 @@ -- | Print an end action notification runEndAction :: Plugin runEndAction = lift $ -  putStrLn "---------- End action ---------------------------"+  putStrLn "-- End action --" --- | Clean action is responsible to delete directory containing temporary .o and .hi files +-- | Clean action is responsible to delete fileListenInfoDirectory containing temporary .o and .hi files  runClean :: Plugin  runClean = do-     toClean <- asks $ map cfCompileTarget . compileInputs+     toClean <- asks $ map compileInputBuildDirectory . shakerCompileInputs       lift$  mapM_ action toClean    where action toClean = do                  ex <- doesDirectoryExist toClean-                 if ex then removeDirectoryRecursive toClean  -                       else putStrLn "" +                 when ex $ removeDirectoryRecursive toClean    runInvalidAction :: Plugin  runInvalidAction = lift $ putStrLn "Invalid action,  use help to display available actions"
src/Shaker/Action/Test.hs view
@@ -3,38 +3,39 @@  import Shaker.Type import Shaker.Reflexivite+import Shaker.ModuleData import Control.Monad.Reader import Language.Haskell.TH  runTestFramework :: Plugin -runTestFramework = collectAllModulesForTest >>= getModulesWithFunctionFiltering  >>= runTestFramework'--runIntelligentTestFramework :: Plugin-runIntelligentTestFramework = collectChangedModulesForTest >>= getModulesWithFunctionFiltering >>= runTestFramework'+runTestFramework = getModulesWithFunctionFiltering >>= runTestFramework'  runModuleTestFramework :: Plugin -runModuleTestFramework = collectAllModulesForTest >>= getModulesWithModuleFiltering >>= runTestFramework' --runModuleIntelligentTestFramework :: Plugin-runModuleIntelligentTestFramework = collectChangedModulesForTest >>= getModulesWithModuleFiltering >>= runTestFramework'+runModuleTestFramework = getModulesWithModuleFiltering >>= runTestFramework'  -getModulesWithModuleFiltering :: [ModuleMapping] -> Shaker IO [ModuleMapping] -getModulesWithModuleFiltering module_list = fmap process (asks argument)-  where process [] = module_list-        process list = concatMap (filterModulesWithPattern module_list) list+getModulesWithModuleFiltering :: Shaker IO [ModuleData] +getModulesWithModuleFiltering = do+  listModuleData <- asks shakerModuleData+  args <- asks shakerArgument+  return $ process listModuleData args+  where process module_list [] = module_list+        process module_list list = concatMap (filterModulesWithPattern module_list) list -getModulesWithFunctionFiltering :: [ModuleMapping] -> Shaker IO [ModuleMapping] -getModulesWithFunctionFiltering module_list = fmap -  (removeNonTestModule . filterFunctionsWithPatterns module_list)-  (asks argument)+getModulesWithFunctionFiltering :: Shaker IO [ModuleData] +getModulesWithFunctionFiltering = do+  listModuleData <- asks shakerModuleData+  args <- asks shakerArgument+  return $ filterFunctionsWithPatterns listModuleData args   -runTestFramework' :: [ModuleMapping] -> Plugin+runTestFramework' :: [ModuleData] -> Plugin+runTestFramework' [] = lift $ putStrLn "No test to run" runTestFramework' modules = do-  let import_modules = base_modules ++ map cfModuleName modules-  resolvedExp <- lift $ runQ (listTestFrameworkGroupList modules)+  let import_modules = base_modules ++ map moduleDataName filtered_modules+  resolvedExp <- lift $ runQ (listTestFrameworkGroupList filtered_modules)   let function =  filter (/= '\n') $ pprint resolvedExp   lift $ putStrLn function-  runFunction $ RunnableFunction import_modules ("defaultMain $ " ++ function) +  runFunction $ RunnableFunction import_modules listTestLibs ("defaultMain $ " ++ function)    return ()    where base_modules =["Data.Maybe","Shaker.TestHelper","Test.Framework", "Test.Framework.Providers.HUnit", "Test.Framework.Providers.QuickCheck2", "Test.QuickCheck", "Test.HUnit", "Prelude" ] +        filtered_modules = removeNonTestModules modules 
− src/Shaker/Cabal/CabalInfo.hs
@@ -1,149 +0,0 @@--- | Allow to use cabal configuration (generated via the configure action of cabal).--- Source directories and compilation options will be reused by Shaker.-module Shaker.Cabal.CabalInfo(-    defaultCabalInput-  )-   where--import Shaker.Type-import Shaker.Config-import Distribution.Simple.Build-import Distribution.Verbosity-import Distribution.Simple.Configure (getPersistBuildConfig)-import Distribution.Simple.LocalBuildInfo (LocalBuildInfo, localPkgDescr)-import Distribution.ModuleName-import Distribution.PackageDescription(-  BuildInfo,targetBuildDepends,options,libBuildInfo,library,Library,hsSourceDirs,exposedModules, extensions, -  Executable,buildInfo, modulePath, executables, exeName-  )-import DynFlags(-    DynFlags, verbosity, ghcLink, packageFlags, outputFile, hiDir, objectDir ,importPaths-    ,PackageFlag (ExposePackage)-    ,GhcLink (NoLink)-  )-import System.FilePath          ( (</>))-import System.Directory (doesFileExist)-import Distribution.Compiler(CompilerFlavor(GHC))-import Distribution.Package (Dependency(Dependency), PackageName(PackageName))-import Data.Maybe-import Data.List(nub,isSuffixOf)-import Control.Monad ---- | Read the build information from cabal and output a shakerInput from it-defaultCabalInput :: IO ShakerInput-defaultCabalInput = readConf >>= \lbi -> -  generatePreprocessFile lbi >> -  localBuildInfoToShakerInput lbi >>= checkInvalidMain --generatePreprocessFile :: LocalBuildInfo -> IO ()-generatePreprocessFile lbi = writeAutogenFiles normal (localPkgDescr lbi) lbi--readConf :: IO LocalBuildInfo-readConf = getPersistBuildConfig "dist"---- | Extract useful information from localBuildInfo to a ShakerInput-localBuildInfoToShakerInput :: LocalBuildInfo -> IO ShakerInput-localBuildInfoToShakerInput lbi = do -  defInput <- defaultInputInitialized -  return defInput {-    compileInputs = cplInputs-    ,listenerInput = compileInputsToListenerInput cplInputs-  }-  where cplInputs = localBuildInfoToCompileInputs lbi--compileInputsToListenerInput :: [CompileInput] -> ListenerInput-compileInputsToListenerInput cplInputs = defaultListenerInput {-        fileListenInfo = nub $ map (\a -> FileListenInfo a defaultExclude  defaultHaskellPatterns) concatSources- } - where concatSources = concatMap cfSourceDirs cplInputs-       --- * Converter to CompileInput---- | Extract informations : Convert executable and library to --- compile inputs-localBuildInfoToCompileInputs :: LocalBuildInfo -> [CompileInput]-localBuildInfoToCompileInputs lbi = executableAndLibToCompileInput (library pkgDescription) (executables pkgDescription)- where pkgDescription = localPkgDescr lbi----- | Dispatch the processing depending of the library content-executableAndLibToCompileInput :: Maybe Library -> [Executable] -> [CompileInput]-executableAndLibToCompileInput Nothing exes = map executableToCompileInput exes-executableAndLibToCompileInput (Just lib) exes = libraryToCompileInput lib : map executableToCompileInput exes---- | Convert a cabal executable to a compileInput--- The target of compilation will the main file-executableToCompileInput :: Executable -> CompileInput-executableToCompileInput executable = defaultCompileInput { -  cfSourceDirs = mySourceDir-  ,cfDescription = "Executable : " ++ exeName executable-  ,cfCommandLineFlags = getCompileOptions bldInfo-  ,cfTargetFiles = map (</> modulePath executable ) mySourceDir-  ,cfDynFlags = toDynFlags mySourceDir (getLibDependencies bldInfo)-  }-  where bldInfo = buildInfo executable-        mySourceDir = "dist/build/autogen" : hsSourceDirs bldInfo---- | Convert a cabal library to a compileInput--- The target of compilation will be all exposed modules-libraryToCompileInput :: Library -> CompileInput-libraryToCompileInput lib = defaultCompileInput {-  cfSourceDirs = mySourceDir-  ,cfDescription = "Library : " ++ show myModules-  ,cfCommandLineFlags = getCompileOptions bldInfo-  ,cfTargetFiles = myModules-  ,cfDynFlags = toDynFlags mySourceDir (getLibDependencies bldInfo)- }- where bldInfo = libBuildInfo lib-       myModules = map convertModuleNameToString $ exposedModules lib-       mySourceDir = "dist/build/autogen": hsSourceDirs bldInfo ---- | Create a dynFlags for ghc from a source directory and --- a liste of packages-toDynFlags :: [String] -> [String] -> DynFlags -> DynFlags-toDynFlags sourceDirs packagesToExpose dnFlags = dnFlags {-  importPaths = nub $ oldImportPaths ++ sourceDirs-  ,outputFile = Just "dist/shakerTarget/Main"-  ,objectDir = Just "dist/shakerTarget"-  ,hiDir = Just "dist/shakerTarget"-  ,verbosity = 1-  ,ghcLink = NoLink-  ,packageFlags = nub $ map ExposePackage packagesToExpose ++ oldPackageFlags-  } -  where oldPackageFlags = packageFlags dnFlags-        oldImportPaths = importPaths dnFlags---- * Helper methods--getCompileOptions :: BuildInfo -> [String]-getCompileOptions myLibBuildInfo = hideAllPackagesOption : ghcOptions ++ ghcExtensions- where ghcOptions = fromMaybe [] $ lookup GHC (options myLibBuildInfo)-       ghcExtensions = map (\a -> "-X"++ show a) (extensions myLibBuildInfo)-       hideAllPackagesOption = "-hide-all-packages"--getLibDependencies :: BuildInfo -> [String]-getLibDependencies bi = map getPackageName $ targetBuildDepends bi --getPackageName :: Dependency -> String-getPackageName (Dependency (PackageName pn) _) = pn--convertModuleNameToString :: ModuleName -> String-convertModuleNameToString modName- | null modArr = ""- | otherwise = foldr1 (\w s -> w ++ '.':s) modArr-   where modArr = components modName ----- | Check and filter all invalid main definission-checkInvalidMain :: ShakerInput -> IO ShakerInput -checkInvalidMain shIn = mapM checkInvalidMain' (compileInputs shIn) >>= \newCplInp ->-  return $ shIn {compileInputs = newCplInp  }--checkInvalidMain' :: CompileInput -> IO CompileInput-checkInvalidMain' cplInput- | any (".hs" `isSuffixOf`) oldTargets = do-    newTargets <- filterM doesFileExist oldTargets-    return cplInput {cfTargetFiles = newTargets}- | otherwise = return cplInput-  where oldTargets = cfTargetFiles cplInput-
+ src/Shaker/CabalInfo.hs view
@@ -0,0 +1,176 @@+-- | Allow to use cabal configuration (generated via the configure action of cabal).+-- Source fileListenInfoDirectories and compilation options will be reused by Shaker.+module Shaker.CabalInfo(+    defaultCabalInput+    ,applyPreprocessSources+  )+   where++import Control.Arrow+import Control.Monad.Reader+import Data.List(nub,isSuffixOf, find, isPrefixOf)+import Data.Maybe+import Data.Monoid +import Distribution.ModuleName+import Distribution.PackageDescription+import Distribution.PackageDescription.Parse+import Distribution.Package (PackageName(PackageName), pkgName)+import Distribution.Simple.Compiler (PackageDB(..))+import Distribution.Simple.Configure (maybeGetPersistBuildConfig, configure, writePersistBuildConfig, getInstalledPackages)+import Distribution.Simple.GHC(ghcOptions)+import Distribution.Simple.LocalBuildInfo +import Distribution.Simple.Program+import Distribution.Simple.Setup+import Distribution.Simple.Utils+import Distribution.Verbosity+import DynFlags( DynFlags, verbosity, ghcLink, packageFlags, importPaths ,PackageFlag (ExposePackageId) ,GhcLink (NoLink))+import Shaker.CabalInterface+import Shaker.Config+import Shaker.GhcInterface+import Shaker.Io+import Shaker.ModuleData+import Shaker.Type+import System.Directory (doesFileExist)+import System.FilePath          ( (</>))++-- | Read the build information from cabal and output a shakerInput from it+defaultCabalInput :: IO ShakerInput+defaultCabalInput = readConf >>= \lbi -> +  generateAutogenFiles lbi >> +  localBuildInfoToShakerInput lbi >>= exposeNeededPackages lbi >>= checkInvalidMain >>= fillModuleData >>= fillPackageIndex+readConf :: IO LocalBuildInfo+readConf = maybeGetPersistBuildConfig "dist" >>= \my_lbi ->+  case my_lbi of+   Just lbi -> return lbi+   Nothing -> callConfigure++callConfigure :: IO LocalBuildInfo+callConfigure = do+  genericPackageDescription <- defaultPackageDesc silent >>= readPackageDescription silent +  lbi <- configure (genericPackageDescription ,emptyHookedBuildInfo) (defaultConfigFlags defaultProgramConfiguration) +  writePersistBuildConfig "dist" lbi+  return lbi++-- | Extract useful information from localBuildInfo to a ShakerInput+localBuildInfoToShakerInput :: LocalBuildInfo -> IO ShakerInput+localBuildInfoToShakerInput lbi = do +  defInput <- defaultInputInitialized +  let cplInputs = localBuildInfoToCompileInputs lbi +  let listenerInput = compileInputsToListenerInput cplInputs+  --lstHsFiles <- fmap listenerInputFiles (asks shakerListenerInput) >>= recurseMultipleListFiles+  return defInput {+    shakerCompileInputs   = cplInputs+    ,shakerListenerInput  = listenerInput+    ,shakerLocalBuildInfo = lbi+  }++compileInputsToListenerInput :: [CompileInput] -> ListenerInput+compileInputsToListenerInput cplInputs = mempty {+        listenerInputFiles = nub $ map (\a -> FileListenInfo a defaultExclude defaultHaskellPatterns) concatSources+ } + where concatSources = concatMap compileInputSourceDirs cplInputs+       +-- * Converter to CompileInput++-- | Extract informations : Convert executable and library to +-- compile inputs+localBuildInfoToCompileInputs  :: LocalBuildInfo -> [CompileInput]+localBuildInfoToCompileInputs lbi = executableAndLibToCompileInput lbi libraryTuple  executablesTuples+ where pkgDescription = localPkgDescr lbi+       libraryTuple = library pkgDescription >>= \a ->  libraryConfig lbi >>= \b -> return (a,b)+       executablesTuples = mapMaybe ( \ (name, comp) -> find (\ex -> exeName ex == name) listExecutables >>= \e -> return (e, comp) ) listConfigs+       listExecutables = executables pkgDescription+       listConfigs = executableConfigs lbi++-- | Dispatch the processing depending of the library content+executableAndLibToCompileInput :: LocalBuildInfo -> Maybe (Library, ComponentLocalBuildInfo) -> [(Executable,ComponentLocalBuildInfo)] -> [CompileInput]+executableAndLibToCompileInput lbi Nothing exes = map (executableToCompileInput lbi) exes+executableAndLibToCompileInput lbi (Just lib) exes = libraryToCompileInput lbi lib : map (executableToCompileInput lbi) exes++-- | Convert a cabal executable to a compileInput+-- The target of compilation will the main file+executableToCompileInput :: LocalBuildInfo -> (Executable, ComponentLocalBuildInfo) -> CompileInput+executableToCompileInput lbi (executable, componentLocalBuildInfo) = mempty { +  compileInputSourceDirs = mySourceDir+  ,compileInputCommandLineFlags = ghcOptions lbi bldInfo componentLocalBuildInfo defaultDistDir+  ,compileInputTargetFiles = map (</> modulePath executable ) mySourceDir+  ,compileInputDynFlags = toDynFlags mySourceDir (getLibDependencies componentLocalBuildInfo)+  }+  where bldInfo = buildInfo executable+        mySourceDir = "dist/build/autogen" : hsSourceDirs bldInfo++-- | Convert a cabal library to a compileInput+-- The target of compilation will be all exposed modules+libraryToCompileInput :: LocalBuildInfo -> (Library, ComponentLocalBuildInfo) -> CompileInput+libraryToCompileInput lbi (lib, componentLocalBuildInfo) = mempty {+  compileInputSourceDirs = mySourceDir+  ,compileInputCommandLineFlags = ghcOptions lbi bldInfo componentLocalBuildInfo defaultDistDir+  ,compileInputTargetFiles = myModules+  ,compileInputDynFlags = toDynFlags mySourceDir (getLibDependencies componentLocalBuildInfo)+ }+ where bldInfo = libBuildInfo lib+       myModules = map convertModuleNameToString $ exposedModules lib+       mySourceDir = "dist/build/autogen": hsSourceDirs bldInfo ++-- | Create a dynFlags for ghc from a source fileListenInfoDirectory and +-- a liste of packages+toDynFlags :: [String] -> [String] -> DynFlags -> DynFlags+toDynFlags sourceDirs packagesToExpose dnFlags = dnFlags {+  importPaths = nub $ oldImportPaths ++ sourceDirs+  ,verbosity = 1+  ,ghcLink = NoLink+  ,packageFlags = nub $ map ExposePackageId packagesToExpose ++ oldPackageFlags+  } +  where oldPackageFlags = packageFlags dnFlags+        oldImportPaths = importPaths dnFlags++-- * Helper methods++getLibDependencies :: ComponentLocalBuildInfo -> [String]+getLibDependencies = componentPackageDeps >>> map (fst >>> installedPackageIdString ) ++convertModuleNameToString :: ModuleName -> String+convertModuleNameToString modName+ | null modArr = ""+ | otherwise = foldr1 (\w s -> w ++ '.':s) modArr+   where modArr = components modName +++-- | Check and filter all invalid main definission+checkInvalidMain :: ShakerInput -> IO ShakerInput +checkInvalidMain shIn = mapM checkInvalidMain' (shakerCompileInputs  shIn) >>= \newCplInp ->+  return $ shIn {shakerCompileInputs = newCplInp  }++checkInvalidMain' :: CompileInput -> IO CompileInput+checkInvalidMain' cplInput+ | any (".hs" `isSuffixOf`) oldTargets = do+    newTargets <- filterM doesFileExist oldTargets+    return cplInput {compileInputTargetFiles = newTargets}+ | otherwise = return cplInput+  where oldTargets = compileInputTargetFiles cplInput++-- | Expose needed package+exposeNeededPackages :: LocalBuildInfo -> ShakerInput -> IO ShakerInput +exposeNeededPackages lbi shIn = do+  listPackages <- runReaderT getListNeededPackages shIn+  putStrLn $ "Exposing packages " ++ show listPackages+  let packageFlagsToAdd = map ExposePackageId $ filter ( \ name -> not $ currentPackage `isPrefixOf` name ) listPackages+  let oldListenerInput = shakerListenerInput shIn+  let listenerInputFilesToMerge = mempty +  let newCpIns = map ( \a -> mappend a $ mempty { compileInputDynFlags = addPackageToDynFlags packageFlagsToAdd } ) (shakerCompileInputs shIn)+  let newListFileListenInfo = map ( `mappend` listenerInputFilesToMerge) (listenerInputFiles oldListenerInput )+  let newListenerInput = oldListenerInput { listenerInputFiles = newListFileListenInfo }+  return $ shIn {shakerCompileInputs = newCpIns, shakerListenerInput= newListenerInput }+  where addPackageToDynFlags packageFlagToAdd dynFlags = dynFlags {+            packageFlags = packageFlags dynFlags ++ packageFlagToAdd+          } +        currentPackage = localPkgDescr >>> package >>> pkgName >>> unPackageName $ lbi+        unPackageName (PackageName v) = v++fillPackageIndex :: ShakerInput -> IO ShakerInput +fillPackageIndex shIn = do+  (Just pkgIndex) <- getInstalledPackages normal lbi_compiler [GlobalPackageDB] lbi_programConfiguration +  return shIn { shakerPackageIndex = pkgIndex }+  where lbi_compiler = shakerLocalBuildInfo >>> compiler $ shIn+        lbi_programConfiguration = shakerLocalBuildInfo >>> withPrograms $ shIn+
+ src/Shaker/CabalInterface.hs view
@@ -0,0 +1,19 @@+module Shaker.CabalInterface + where++import Control.Monad.Reader+import Distribution.Simple.Build+import Distribution.Simple.LocalBuildInfo +import Distribution.Simple.PreProcess+import Distribution.Verbosity+import Shaker.Type++generateAutogenFiles :: LocalBuildInfo -> IO ()+generateAutogenFiles lbi = writeAutogenFiles normal (localPkgDescr lbi) lbi++applyPreprocessSources :: Shaker IO ()+applyPreprocessSources = do+  lbi <- asks shakerLocalBuildInfo +  let pkgDescription = localPkgDescr lbi+  lift $ preprocessSources pkgDescription lbi False normal knownSuffixHandlers +
src/Shaker/Cli.hs view
@@ -9,15 +9,14 @@ )  where +import Control.Concurrent+import Control.Monad.Reader import Data.Char import Data.List+import qualified Data.Map as M import Shaker.Parser import Shaker.Type-import Control.Concurrent-import Control.Monad.Trans import System.Console.Haskeline-import qualified Data.Map as M-import Control.Monad.Reader  -- | Listen to keyboard input and parse command getInput :: Shaker IO( IO() )@@ -28,7 +27,7 @@ -- | Execute the entered command  processInput :: ShakerInput -> InputT IO() processInput shIn  = do-  let (InputState inputMv tokenMv) = inputState shIn+  let (InputState inputMv tokenMv) = shakerInputState shIn   _ <- lift $ takeMVar tokenMv    minput <-  handleInterrupt (return (Just "quit"))                $ getInputLine "% "@@ -37,7 +36,7 @@      Just str -> either error_action normal_action (parseCommand str shIn)                  where error_action err = lift $ print err >> tryPutMVar inputMv Nothing >> return()                        normal_action val = lift $ tryPutMVar inputMv (Just val) >> return()-       + -- * Auto-completion management   -- | Settings for haskeline@@ -52,7 +51,7 @@ completeAction shIn = completeWord (Just '\\') "\"'~" (listActions shIn)  listActions :: Monad m => ShakerInput -> String -> m [Completion]-listActions shIn str = return $ autocompleteFunction (commandMap shIn) str+listActions shIn str = return $ autocompleteFunction (shakerCommandMap shIn) str  autocompleteFunction :: CommandMap  -> String -> [Completion] autocompleteFunction cmdMap [] = map simpleCompletion $ M.keys cmdMap
src/Shaker/Conductor.hs view
@@ -1,22 +1,20 @@ -- | Conductor is responsible to control the command-line listener,  -- the listener manager and the action to execute-module Shaker.Conductor(- initThread,- executeCommand-)+module Shaker.Conductor+  (initThread, executeCommand)   where +import Control.Concurrent import Control.Monad import Control.Monad.Reader-import Control.Concurrent--import Shaker.Type-import Shaker.Io-import Shaker.Listener-import Shaker.Cli-import qualified Data.Map as M import Data.Maybe import qualified Control.Exception as C+import qualified Data.Map as M+import Shaker.Cli+import Shaker.Io+import Shaker.Listener+import Shaker.ModuleData+import Shaker.Type   -- | Initialize the master thread  -- Once quit is called, all threads are killed@@ -27,32 +25,30 @@   lift ( forkIO ( forever input_action) ) >>= addThreadIdToQuitMVar    let main_loop = runReaderT mainThread shIn    lift ( forkIO (forever main_loop) ) >>= addThreadIdToQuitMVar-  quit_token <- asks (quitToken . threadData)+  quit_token <- asks (threadDataQuitToken . shakerThreadData)   _ <- lift $ takeMVar quit_token   cleanAllThreads    -- | The main thread.  mainThread :: Shaker IO() mainThread = do-  (InputState inputMv tokenMv) <- asks inputState+  (InputState inputMv tokenMv) <- asks shakerInputState   _ <- lift $ tryPutMVar tokenMv 42   maybe_cmd <- lift $ takeMVar inputMv    executeCommand maybe_cmd -data ConductorData = ConductorData ListenState ([FileInfo] -> IO () )- initializeConductorData :: Shaker IO () -> Shaker IO ConductorData  initializeConductorData fun = do   shIn <- ask   lstState <- initializeListener    mapM_ addThreadIdToListenMVar $ threadIds lstState -  let theFun = \a -> runReaderT fun shIn {modifiedInfoFiles = a}+  let theFun a = runReaderT fun shIn {shakerModifiedInfoFiles = a}   return $ ConductorData lstState theFun    cleanAllThreads :: Shaker IO () cleanAllThreads = do -  asks ( threadIdListenList . threadData ) >>= cleanThreads-  asks ( threadIdQuitList . threadData ) >>= cleanThreads+  asks ( threadDataListenList . shakerThreadData ) >>= cleanThreads+  asks ( threadDataQuitList . shakerThreadData ) >>= cleanThreads  cleanThreads :: ThreadIdList -> Shaker IO() cleanThreads thrdList = lift (readMVar thrdList)  >>= lift . mapM_ killThread @@ -63,7 +59,7 @@   shIn <- ask   res <- lift $  handleContinuousInterrupt $ runReaderT (threadExecutor' conductorData) shIn   when res $ threadExecutor conductorData-  asks ( threadIdListenList . threadData ) >>= cleanThreads+  asks ( threadDataListenList . shakerThreadData ) >>= cleanThreads    threadExecutor' :: ConductorData -> Shaker IO Bool threadExecutor' (ConductorData listenState fun) = lift $ takeMVar (mvModifiedFiles listenState) >>= fun >> return True@@ -84,14 +80,14 @@  -- | Execute a single action with argument executeAction' :: Action -> Shaker IO()-executeAction' (ActionWithArg actKey args) = do -  plMap <- asks pluginMap -  local (\shIn -> shIn {argument = args} ) $ fromJust $ actKey `M.lookup` plMap+executeAction' (ActionWithArg actKey args) = +  local (\shIn -> shIn {shakerArgument = args} ) (executeAction' (Action actKey))  -- | Execute a single action without argument executeAction' (Action actKey) = do-  plMap <- asks pluginMap -  fromJust $ actKey `M.lookup` plMap+  plMap <- asks shakerPluginMap +  mdatas <- parseAllModuleData+  local (\shIn -> shIn {shakerModuleData = mdatas} ) (fromJust $ actKey `M.lookup` plMap)  -- * Handlers  @@ -104,11 +100,11 @@  -- | Add the given threadId to the listener thread list addThreadIdToListenMVar :: ThreadId -> Shaker IO()-addThreadIdToListenMVar thrdId = asks (threadIdListenList . threadData) >>= flip addThreadIdToMVar thrdId+addThreadIdToListenMVar thrdId = asks (threadDataListenList . shakerThreadData) >>= flip addThreadIdToMVar thrdId  -- | Add the given threadId to the quit thread list addThreadIdToQuitMVar :: ThreadId -> Shaker IO()-addThreadIdToQuitMVar thrdId = asks (threadIdQuitList . threadData) >>= flip addThreadIdToMVar thrdId+addThreadIdToQuitMVar thrdId = asks (threadDataQuitList . shakerThreadData) >>= flip addThreadIdToMVar thrdId  -- | Add the given threadId to the mvar list addThreadIdToMVar :: ThreadIdList -> ThreadId -> Shaker IO ()
src/Shaker/Config.hs view
@@ -2,6 +2,8 @@ module Shaker.Config  where +import Data.Monoid+ import Shaker.Type import Shaker.PluginConfig import Shaker.Cli(InputState(..))@@ -9,12 +11,17 @@  defaultInput ::ShakerInput   defaultInput = ShakerInput {-  compileInputs = [defaultCompileInput],-  listenerInput = defaultListenerInput,-  pluginMap = defaultPluginMap,-  commandMap = defaultCommandMap-  ,argument = []-  ,modifiedInfoFiles = []+  shakerCompileInputs = [mempty]+  ,shakerListenerInput= mempty+  ,shakerPluginMap = defaultPluginMap+  ,shakerCommandMap = defaultCommandMap+  ,shakerArgument = []+  ,shakerModifiedInfoFiles = []+  ,shakerThreadData = undefined+  ,shakerInputState = undefined+  ,shakerLocalBuildInfo = undefined+  ,shakerPackageIndex = mempty+  ,shakerModuleData = []   }  defaultInputInitialized :: IO ShakerInput @@ -22,8 +29,8 @@   defThrdData <- defaultThreadData   input_state <- defaultInputState    return defaultInput { -    threadData = defThrdData -    ,inputState = input_state +    shakerThreadData = defThrdData +    ,shakerInputState = input_state   }  defaultThreadData :: IO ThreadData @@ -33,15 +40,16 @@   listen_token <- newEmptyMVar    quit_token <- newEmptyMVar     return ThreadData {-      listenToken = listen_token-      ,quitToken = quit_token-      ,threadIdListenList = thread_listen-      ,threadIdQuitList = thread_quit+      threadDataListenToken = listen_token+      ,threadDataQuitToken = quit_token+      ,threadDataListenList = thread_listen+      ,threadDataQuitList = thread_quit     }   defaultInputState :: IO InputState defaultInputState = do   inputMv <- newEmptyMVar    tokenMv <- newEmptyMVar  -  return InputState { input = inputMv, token =  tokenMv } +  return InputState { shakerInputStateCommand = inputMv, shakerInputStateToken =  tokenMv } + 
+ src/Shaker/GhcInterface.hs view
@@ -0,0 +1,82 @@+module Shaker.GhcInterface (+  -- * GHC Compile management+  initializeGhc+  ,ghcCompile+  ,getListNeededPackages+  ,installedPackageIdString + )+ where++import Control.Arrow+import Control.Monad.Reader(lift, asks )+import Data.List+import Distribution.Package (InstalledPackageId(..))+import DynFlags+import GHC hiding (parseModule, HsModule)+import GHC.Paths+import Linker+import HscTypes+import Packages (lookupModuleInAllPackages, exposed,  installedPackageId, PackageConfig)+import qualified Data.Map as M+import Shaker.Io+import Shaker.Type++type ImportToPackages = [ ( String, [PackageConfig] ) ]++-- | Get the list of unresolved import and +-- unexposed yet needed packages+getListNeededPackages :: Shaker IO [String]+getListNeededPackages = do+  cpIn <- fmap head (asks shakerCompileInputs)+  (PackageData map_import_modules list_project_modules) <- lift mapImportToModules+  import_to_packages <- lift $ runGhc (Just libdir) $ do +    initializeGhc cpIn+    dyn_flags <- getSessionDynFlags+    return $ map ( \ imp -> (imp , lookupModuleInAllPackages dyn_flags . mkModuleName $ imp) ) +              >>> map ( second (map fst) )+              $ (M.keys map_import_modules \\ list_project_modules) +  return $ getPackagesToExpose import_to_packages++getPackagesToExpose :: ImportToPackages -> [String]+getPackagesToExpose = map snd+    >>> filter (not . null)+    >>> filter (all (not . exposed) ) +    >>> map head +    >>> nubBy (\a b ->  getPackage a == getPackage b ) +    >>> filter (not . exposed)+    >>> map getPackage +  where getPackage = installedPackageId >>> installedPackageIdString++installedPackageIdString :: InstalledPackageId -> String+installedPackageIdString (InstalledPackageId v) = v ++initializeGhc :: GhcMonad m => CompileInput -> m ()+initializeGhc cpIn@(CompileInput _ _ procFlags strflags targetFiles) = do   +     modifySession (\h -> h {hsc_HPT = emptyHomePackageTable} )+     dflags <- getSessionDynFlags+     (newFlags,_,_) <- parseDynamicFlags dflags (map noLoc strflags)+     let chgdFlags = configureDynFlagsWithCompileInput cpIn newFlags+     _ <- setSessionDynFlags $ procFlags chgdFlags+     target <- mapM (`guessTarget` Nothing) targetFiles+     setTargets target++-- | Configure and load targets of compilation. +-- It is possible to exploit the compilation result after this step.+ghcCompile :: GhcMonad m => CompileInput -> m SuccessFlag+ghcCompile cpIn = do   +     initializeGhc cpIn+     dflags <- getSessionDynFlags+     liftIO $ unload dflags []+     load LoadAllTargets++-- | Change the dynflags with information from the CompileInput like importPaths +-- and .o and .hi fileListenInfoDirectory+configureDynFlagsWithCompileInput :: CompileInput -> DynFlags -> DynFlags +configureDynFlagsWithCompileInput cpIn dflags = dflags{+    importPaths = sourceDirs+    ,objectDir = Just compileTarget+    ,hiDir = Just compileTarget+  }+  where compileTarget = compileInputBuildDirectory cpIn+        sourceDirs = compileInputSourceDirs cpIn+
+ src/Shaker/HsHelper.hs view
@@ -0,0 +1,81 @@+module Shaker.HsHelper+ where++import Control.Arrow+import Data.List+import Data.Maybe+import Language.Haskell.Parser+import Language.Haskell.Syntax+import Shaker.Io+import Shaker.Type++parseHsFiles :: [FileListenInfo] -> IO [HsModule]+parseHsFiles fliListenInfos = do+  files <- recurseMultipleListFiles fliListenInfos+  parseResults <- mapM parseFileToHsModule files+  return $ catMaybes parseResults++parseFileToHsModule :: FilePath -> IO (Maybe HsModule)+parseFileToHsModule fp = +  readFile fp +  >>= (parseModuleWithMode defaultParseMode { parseFilename = fp } +       >>> extractValue +       >>> return+      )+  where extractValue parseResults = case parseResults of+                               ParseOk val -> Just val+                               _ -> Nothing+++hsModuleCollectProperties :: HsModule -> [String]+hsModuleCollectProperties = getListFunction >>> filter (isPrefixOf "prop_")++abstractCollectFunctionWithUnqualifiedType :: (HsQualType -> Bool) -> HsModule -> [String]+abstractCollectFunctionWithUnqualifiedType fun = getTupleFunctionNameType +  >>> filterSnd fun+  >>> map fst++hsModuleCollectTest :: HsModule -> [String]+hsModuleCollectTest = abstractCollectFunctionWithUnqualifiedType predicat+  where predicat (HsQualType _ (HsTyCon (UnQual hsName) ) ) = hsName == HsIdent "Test"+        predicat _ = False++hsModuleCollectAssertions :: HsModule -> [String]+hsModuleCollectAssertions = abstractCollectFunctionWithUnqualifiedType predicat+  where predicat (HsQualType _ (HsTyCon (UnQual hsName) ) ) = hsName == HsIdent "Assertion"+        predicat _ = False++filterSnd :: (b -> Bool) -> [(a,b)] -> [(a,b)]+filterSnd fun = filter (snd >>> fun)++mapSnd :: ( t1 -> t2 ) -> [ ( t, t1 ) ] -> [ ( t , t2 ) ] +mapSnd fun = map ( second fun )++getListFunction :: HsModule -> [String]+getListFunction = getDecls >>> mapMaybe getFunBindName++getTupleFunctionNameType :: HsModule -> [(String, HsQualType)]+getTupleFunctionNameType = getDecls >>> mapMaybe getSignature++getSignature :: HsDecl -> Maybe (String, HsQualType)+getSignature (HsTypeSig _ hsNames hsQualType) = Just (head >>> getIdentFromHsName $ hsNames, hsQualType)+getSignature _ = Nothing++getFunBindName :: HsDecl -> Maybe String+getFunBindName (HsPatBind _ (HsPVar (HsIdent funName))_ _) = Just funName+getFunBindName (HsFunBind ((HsMatch _ (HsIdent funName) _ _ _ ) :_) ) = Just funName+getFunBindName _ = Nothing++getIdentFromHsName :: HsName -> String+getIdentFromHsName (HsIdent v) = v+getIdentFromHsName _ = ""++getDecls :: HsModule -> [HsDecl]+getDecls (HsModule _ _ _ _ decls) = decls++hsModuleFileName :: HsModule -> String+hsModuleFileName (HsModule loc _ _ _ _) = srcFilename loc++hsModuleName :: HsModule -> String+hsModuleName (HsModule _ (Module moduleName) _ _ _) = moduleName+
src/Shaker/Io.hs view
@@ -1,54 +1,67 @@--- | Manage all file operations like listing files with includes and exclude patterns+-- | Manage all file operations like listing files with fileListenInfoIncludes and exclude patterns -- and file filtering-module Shaker.Io(-  -- * List files functions-  listModifiedAndCreatedFiles-  ,listFiles-  ,getCurrentFpCl-  ,recurseMultipleListFiles-  ,recurseListFiles -  -- * Test file property-  ,isFileContainingMain-  ,isFileContainingTH-  -- * Default patterns-  ,defaultHaskellPatterns-  ,defaultExclude-  -- * Exception handling-  ,handleActionInterrupt-  ,handleIOException-)+module Shaker.Io+ (+ -- * Utility functions+ getCorrespondingBuildFile+ -- * List files functions+ ,listModifiedAndCreatedFiles+ ,listFiles+ ,getCurrentFpCl+ ,recurseMultipleListFiles+ ,recurseListFiles+ ,mapImportToModules+ -- * Default patterns+ ,defaultHaskellPatterns+ ,defaultExclude+ -- * Exception handling+ ,handleActionInterrupt+ ,handleIOException+ )  where  -import qualified Data.ByteString.Char8 as L -import Control.Monad-import System.Directory+import Control.Arrow+import Control.Monad.Reader import Data.List+import Data.Maybe+import Data.Monoid+import Language.Haskell.Parser+import Language.Haskell.Syntax+import qualified Control.Exception as C+import qualified Data.Map as M import Shaker.Regex import Shaker.Type+import System.Directory+import System.FilePath -import qualified Control.Exception as C+-- |Get the build file (without extension) for the given file+getCorrespondingBuildFile :: FilePath -> Shaker IO FilePath+getCorrespondingBuildFile srcFile = do+  buildDir <- fmap (head >>> compileInputBuildDirectory) (asks shakerCompileInputs)+  relativePath <- lift $ makeRelativeToCurrentDirectory srcFile+  return $ dropExtension $ buildDir </> relativePath --- |Get the tuples of (newFiles,modifiedFiles) from given list of directory+-- |Get the tuples of (newFiles,modifiedFiles) from given list of fileListenInfoDirectory listModifiedAndCreatedFiles :: [FileListenInfo] -> [FileInfo] -> IO ([FileInfo],[FileInfo]) listModifiedAndCreatedFiles job curFiles = do    lstNewAndModifier <- mapM (`listModifiedAndCreatedFiles'` curFiles) job    return $ foldl1 (\(a,b) (c,d) -> (a++c,b++d)) lstNewAndModifier    --- |Get the tuples of (newFiles,modifiedFiles) from given directory+-- |Get the tuples of (newFiles,modifiedFiles) from given fileListenInfoDirectory listModifiedAndCreatedFiles' :: FileListenInfo -> [FileInfo] -> IO([FileInfo],[FileInfo]) listModifiedAndCreatedFiles' fileListen oldFileInfo = do   curFileInfo <- getCurrentFpCl fileListen   return (curFileInfo, curFileInfo \\ oldFileInfo) --- |Get the list of FileInfo of the given directory+-- |Get the list of FileInfo of the given fileListenInfoDirectory getCurrentFpCl :: FileListenInfo -> IO [FileInfo] getCurrentFpCl fileListen = do        lstFp <- recurseListFiles fileListen        lstCl <- mapM getModificationTime lstFp -      zipWithM (\a b->return (FileInfo a b)) lstFp lstCl+      return $ zipWith FileInfo lstFp lstCl                   --- |List files in the given directory --- Files matching one regexp in the ignore argument are excluded+-- |List files in the given fileListenInfoDirectory +-- Files matching one regexp in the fileListenInfoIgnore shakerArgument are excluded listFiles :: FileListenInfo -> IO[FilePath] listFiles (FileListenInfo inputDir inputIgnore inputInclude) = do     curDir <- canonicalizePath inputDir @@ -65,27 +78,38 @@ recurseListFiles fli@(FileListenInfo inputDir _ _) = do   curDir <- canonicalizePath inputDir   content <- getDirectoryContents curDir-  directories <- filterM doesDirectoryExist (convertToFullPath curDir (removeDotDirectory content) ) -  sub <- mapM (\a -> recurseListFiles fli{dir=a}) directories+  fileListenInfoDirectories <- filterM doesDirectoryExist (convertToFullPath curDir (removeDotDirectory content) ) +  sub <- mapM (\a -> recurseListFiles fli{fileListenInfoDir=a}) fileListenInfoDirectories   curListFiles <-  listFiles fli   return $ curListFiles ++ concat sub -isFileContainingTH :: FilePath -> IO Bool-isFileContainingTH fp = isFileContaining fp (L.pack "$(" `L.isInfixOf`)--isFileContainingMain :: FilePath -> IO Bool-isFileContainingMain fp = isFileContaining fp $ (\a -> L.pack "main " `L.isPrefixOf` a || L.pack "main:" `L.isPrefixOf` a) . L.dropWhile (== ' ')--isFileContaining :: FilePath -> (L.ByteString -> Bool) -> IO Bool-isFileContaining fp pat = do-   byStr <- L.readFile fp-   return $ any pat $ L.lines byStr- convertToFullPath :: FilePath -> [FilePath] -> [FilePath] convertToFullPath absDir = map (\a-> concat [absDir, "/",a])   removeDotDirectory :: [String] -> [String] removeDotDirectory = filter (not . isSuffixOf "."  ) ++mapImportToModules :: IO PackageData+mapImportToModules = do+   files <- recurseListFiles mempty+   fileContentList <- mapM readFile files+   let module_to_imports = nub $ map getImport (mapMaybe parseHs fileContentList)+   let map_import_modules = constructImportToModules module_to_imports+   return $ PackageData map_import_modules (map fst module_to_imports)+   where getImport :: HsModule -> (String, [String]) +         getImport (HsModule _ moduleName _ listImportDecl _) = (unModule moduleName, map (unModule . importModule) listImportDecl)+         parseHs content = case parseModule content of+                                ParseOk val -> Just val+                                _ -> Nothing+         unModule (Module v) = v++constructImportToModules :: [ ( String, [String] ) ] -> MapImportToModules+constructImportToModules moduleToImports = M.fromList listKeysWithModules+  where listKeys = nub (concatMap snd moduleToImports) +        listKeysWithModules = map ( \ imp -> (imp, getAllModulesForImport imp) ) listKeys+        getAllModulesForImport imp = filter ( \ (_, lstImp) ->  imp `elem` lstImp ) >>> map fst $ moduleToImports ++-- * Exception management  handleActionInterrupt :: IO() -> IO() handleActionInterrupt =  C.handle catchAll
src/Shaker/Listener.hs view
@@ -9,31 +9,15 @@ ) where +import Control.Concurrent import Control.Monad import Control.Monad.Reader-import Control.Concurrent.MVar-import Control.Concurrent--import Shaker.Type import Shaker.Io---- | MVar used to store currentFiles listed-type CurrentFiles = MVar [FileInfo]--- | MVar used to store modifiedFiles since the last check-type MvModifiedFiles = MVar [FileInfo]--- | MVar used to pass action to the directory scanner-type Job = MVar [FileListenInfo]---- | Agregate all information of listener-data ListenState = ListenState {-  currentFiles :: CurrentFiles  -- ^ Files found in the last check-  ,mvModifiedFiles :: MvModifiedFiles -- ^ Differences between last and before last check-  ,threadIds :: [ThreadId] -- ^ List of all forks id initialized-}+import Shaker.Type  initializeListener :: Shaker IO ListenState initializeListener =do-  lstInput <- asks listenerInput +  lstInput <- asks shakerListenerInput   lift $ initialize lstInput  -- | initialize the mvar and launch forks@@ -46,11 +30,11 @@   idSch <- forkIO $ forever . handleIOException $ schedule lstInput mJ   return $ ListenState mC mM [idLst,idSch] --- | manage the job box. Fill it with a job every delay+-- | manage the job box. Fill it with a job every listenerInputDelay schedule :: ListenerInput -> Job -> IO() schedule lstInput mJ = do-  putMVar mJ $ fileListenInfo lstInput-  threadDelay $ delay lstInput+  putMVar mJ $ listenerInputFiles lstInput+  threadDelay $ listenerInputDelay lstInput   return ()       -- | listen to the job box and process the job
+ src/Shaker/ModuleData.hs view
@@ -0,0 +1,123 @@+module Shaker.ModuleData+ where++import Control.Arrow+import Control.Monad.Reader+import Data.List +import Data.Maybe+import Data.Monoid+import Language.Haskell.Syntax+import Shaker.HsHelper+import Shaker.Io+import Shaker.Type+import Shaker.Regex+import System.Directory+import System.FilePath++-- * Read and write module data++-- | Get the corresponding mdata file from the given source file+getCorrespondingModuleDataFile :: FilePath -> Shaker IO FilePath+getCorrespondingModuleDataFile srcFile = +  fmap (`addExtension` moduleDataExtension) (getCorrespondingBuildFile srcFile)++-- | Write given moduleData in dist directory+writeModuleData :: ModuleData -> Shaker IO ()+writeModuleData moduleData = do+  let srcFile = moduleDataFileName moduleData+  buildFile <- getCorrespondingModuleDataFile srcFile +  lift $ createDirectoryIfMissing True (dropFileName buildFile) +  lift $ writeFile buildFile (show moduleData) ++-- | Parse module data from all haskell sources. +parseAllModuleData :: Shaker IO [ ModuleData ]+parseAllModuleData = do+  lstHsFiles <- fmap listenerInputFiles (asks shakerListenerInput) >>= lift . recurseMultipleListFiles+  fmap catMaybes $ mapM parseModuleData lstHsFiles++-- | Read Module data from the given haskell source. It tries to read serialized information beforehand.+parseModuleData :: FilePath -> Shaker IO (Maybe ModuleData)+parseModuleData srcFile = do +  may_moduleData <- parseModuleDataIfExist srcFile +  case may_moduleData of+    Just _ -> return may_moduleData+    Nothing -> do+      may_hsModule <- lift $ parseFileToHsModule srcFile+      return $ fmap constructModuleData may_hsModule ++-- | Read Module data from the serialized data. It returns Nothing if the serialized data is absent or out-of-date.+parseModuleDataIfExist :: FilePath -> Shaker IO (Maybe ModuleData)+parseModuleDataIfExist srcFile = do+  buildFile <- fmap (`addExtension` moduleDataExtension) (getCorrespondingBuildFile srcFile)+  isPresent <- lift $ doesFileExist buildFile +  if isPresent +    then lift $ do+           srcTime <- getModificationTime srcFile+           srcMdata <- getModificationTime buildFile+           let isUptoDate = srcTime < srcMdata+           if isUptoDate +              then fmap (Just . read) (readFile buildFile)+              else return Nothing +    else return Nothing++-- * Module data util methods++convertModuleDataToFullCompileInput :: Shaker IO [CompileInput]+convertModuleDataToFullCompileInput = do +  baseCpIn <- fmap mconcat (asks shakerCompileInputs)+  lstModuleDatas <- asks shakerModuleData+  let groupOfCompileModules = groupByValidTargets lstModuleDatas+  return $ map ( \ lstModules -> baseCpIn { compileInputTargetFiles = map moduleDataFileName lstModules } ) groupOfCompileModules++groupByValidTargets :: [ModuleData] -> [ [ ModuleData] ] +groupByValidTargets = partition moduleDataHasMain +  >>> first (groupBy mainGroupPredicate)+  >>> second nub +  >>> ( \ (a, b) -> b : a ) +  where mainGroupPredicate _ _ = False++getNonMainCompileInput :: Shaker IO CompileInput+getNonMainCompileInput = do+  baseCpIn <- fmap mconcat (asks shakerCompileInputs)+  lstModuleDatas <- asks shakerModuleData+  let filteredModuleDatas = filter (not . moduleDataHasMain) >>> nub $ lstModuleDatas+  return $ baseCpIn { compileInputTargetFiles = map moduleDataFileName filteredModuleDatas } ++fillModuleData :: ShakerInput -> IO ShakerInput+fillModuleData shIn = do+  lstHsModules <- shakerListenerInput >>> listenerInputFiles >>> parseHsFiles $ shIn+  return shIn { shakerModuleData = map constructModuleData lstHsModules }++constructModuleData :: HsModule -> ModuleData+constructModuleData hsModule = ModuleData {+  moduleDataName = hsModuleName hsModule+  ,moduleDataFileName = hsModuleFileName hsModule+  ,moduleDataHasMain = getTupleFunctionNameType >>> map fst >>> any (=="main") $ hsModule+  ,moduleDataProperties = hsModuleCollectProperties hsModule+  ,moduleDataAssertions = hsModuleCollectAssertions hsModule+  ,moduleDataTestCase = hsModuleCollectTest hsModule+ }++hsModuleDataHasTest :: ModuleData -> Bool+hsModuleDataHasTest hsModuleData = any (not . null) [moduleDataProperties hsModuleData, moduleDataAssertions hsModuleData] ++-- | Include only module matching the given pattern+filterModulesWithPattern :: [ModuleData]-> String -> [ModuleData]+filterModulesWithPattern mod_map pattern = filter (\a -> moduleDataName a `elem` filtered_mod_list) mod_map+  where mod_list = map moduleDataName mod_map+        filtered_mod_list = processListWithRegexp mod_list [] [pattern]++filterFunctionsWithPatterns :: [ModuleData] -> [String] -> [ModuleData]+filterFunctionsWithPatterns mod_map patterns = map (`filterFunctionsWithPatterns'` patterns) mod_map++filterFunctionsWithPatterns' :: ModuleData -> [String] -> ModuleData+filterFunctionsWithPatterns' moduleData@(ModuleData _ _ _ properties hunitAssertions hunitTestCases) patterns = moduleData {+    moduleDataAssertions = processListWithRegexp hunitAssertions [] patterns+    ,moduleDataTestCase = processListWithRegexp hunitTestCases [] patterns+    ,moduleDataProperties = processListWithRegexp properties [] patterns+  }++removeNonTestModules :: [ModuleData] -> [ModuleData]+removeNonTestModules = filter ( \ moduleData -> any notEmpty [moduleDataProperties moduleData, moduleDataAssertions moduleData, moduleDataTestCase moduleData] )+  where notEmpty = not . null+
src/Shaker/Parser.hs view
@@ -13,7 +13,7 @@ -- | Parse the given string to a Command parseCommand :: String -> ShakerInput -> Either ParseError Command parseCommand str shIn = parse (typeCommand cmd_map) "parseCommand" str-  where cmd_map = commandMap shIn+  where cmd_map = shakerCommandMap shIn  -- | Parse a Command typeCommand :: CommandMap -> GenParser Char st Command
src/Shaker/PluginConfig.hs view
@@ -18,8 +18,6 @@                 (InvalidAction,runInvalidAction),                 (TestFramework , runTestFramework),                 (ModuleTestFramework , runModuleTestFramework),-                (IntelligentTestFramework , runIntelligentTestFramework),-                (IntelligentModuleTestFramework, runModuleIntelligentTestFramework),                 (Empty,runEmpty),                 (Clean,runClean),                 (Quit,runExit)@@ -33,8 +31,6 @@             ("help", Help),             ("test", TestFramework ),             ("test-module", ModuleTestFramework),-            ("itest", IntelligentTestFramework ),-            ("itest-module", IntelligentModuleTestFramework),             ("clean",Clean),             ("quit",Quit)           ]
src/Shaker/Reflexivite.hs view
@@ -1,11 +1,8 @@ module Shaker.Reflexivite (-  ModuleMapping(..)-  ,RunnableFunction(..)+  RunnableFunction(..)   -- * Collect module information functions-  ,collectAllModulesForTest-  ,collectChangedModulesForTest    ,runFunction-  ,removeNonTestModule+  ,searchInstalledPackageId   -- * Template haskell generator   ,listAllTestFrameworkGroupList   ,filterModulesWithPattern@@ -14,86 +11,38 @@   )  where -import Data.List-import Data.Maybe-import Shaker.Type -import Shaker.Action.Compile-import Shaker.SourceHelper-import Shaker.Regex--import Control.Monad.Reader import Control.Arrow import Control.Exception as C--import Digraph-import Language.Haskell.TH+import Control.Monad.Reader+import Data.List+import Data.Maybe+import Distribution.InstalledPackageInfo+import Distribution.Simple.PackageIndex+import DynFlags import GHC import GHC.Paths-import DynFlags+import Language.Haskell.TH+import Shaker.Action.Compile+import Shaker.GhcInterface+import Shaker.ModuleData+import Shaker.Type  import Unsafe.Coerce-import Outputable-import OccName (occNameString)-import Name (nameOccName)-import Var (varName) --- | Mapping between module name (to import) and test to execute-data ModuleMapping = ModuleMapping {-  cfModuleName :: String -- ^ Complete name of the module -  ,cfHunitAssertion :: [String] -- ^ Hunit assertions-  ,cfHunitTestCase :: [String] -- ^ Hunit test case to process for test-framework-  ,cfPropName :: [String] -- ^ QuickCheck test function names- }- deriving (Show,Eq)- data RunnableFunction = RunnableFunction {-  cfModule :: [String]-  ,cfFunctionName :: String -- The function name. Should have IO() as signature+  runnableFunctionModule :: [String]+  ,runnableLibrairies :: [String]+  ,runnableFunctionFunction :: String -- The function name. Should have IO() as signature }  deriving Show --- | Collect all non-main modules with their test function associated-collectAllModulesForTest :: Shaker IO [ModuleMapping]-collectAllModulesForTest = do -  cpIn <- getFullCompileCompileInput-  allModules <- lift $ runGhc (Just libdir) $ do -        _ <- ghcCompile cpIn-        collectAllModules' >>= mapM getModuleMapping -  return . removeNonTestModule $ allModules-  --- | Analyze all haskell modules of the project and --- output all module needing recompilation-collectChangedModulesForTest :: Shaker IO [ModuleMapping]-collectChangedModulesForTest = do -  cpIn <- getFullCompileCompileInput-  modInfoFiles <- asks modifiedInfoFiles-  let modFilePaths = (map fileInfoFilePath modInfoFiles)-  changed_modules <- lift $ runGhc (Just libdir) $ do -           _ <- initializeGhc cpIn-           collectChangedModulesForTest' modFilePaths cpIn-  return . removeNonTestModule $ changed_modules--collectAllModules' :: GhcMonad m => m [ModSummary] -collectAllModules' = do -  mss <- depanal [] False-  let sort_mss = flattenSCCs $ topSortModuleGraph True mss Nothing-  return sort_mss-         -collectChangedModulesForTest' :: GhcMonad m => [FilePath] -> CompileInput -> m [ModuleMapping] -collectChangedModulesForTest' modFilePaths cpIn = do -    changedModules <- collectAllModules' >>= filterM (isModuleNeedCompilation modFilePaths) -    _ <- ghcCompile cpIn-    allModules <- collectAllModules' -    let res = intersectBy ( \a b -> nameMod a == nameMod b ) allModules changedModules-    mapM getModuleMapping res-  where nameMod = moduleNameString . moduleName . ms_mod- -- | Compile, load and run the given function runFunction :: RunnableFunction -> Shaker IO()-runFunction (RunnableFunction importModuleList fun) = do-  cpIn <- getFullCompileCompileInput+runFunction (RunnableFunction importModuleList listLibs fun) = do+  cpIn <- getNonMainCompileInput+  listInstalledPkgId <- fmap catMaybes (mapM searchInstalledPackageId listLibs)   dynFun <- lift $ runGhc (Just libdir) $ do          dflags <- getSessionDynFlags-         _ <- setSessionDynFlags (addShakerLibraryAsImport (dopt_set dflags Opt_HideAllPackages))+         _ <- setSessionDynFlags (addShakerLibraryAsImport listInstalledPkgId (dopt_set dflags Opt_HideAllPackages))          _ <- ghcCompile cpIn           configureContext importModuleList          value <- compileExpr fun@@ -105,82 +54,45 @@         configureContext [] = getModuleGraph >>= \mGraph ->  setContext [] $ map ms_mod mGraph         configureContext imports = mapM (\a -> findModule (mkModuleName a)  Nothing ) imports >>= \m -> setContext [] m -addShakerLibraryAsImport :: DynFlags -> DynFlags-addShakerLibraryAsImport dflags = dflags {-    packageFlags = nub $ (map ExposePackage  ["QuickCheck","HUnit","test-framework-hunit","test-framework","test-framework-quickcheck2","shaker"]) ++ oldPackageFlags+addShakerLibraryAsImport :: [String] -> DynFlags -> DynFlags+addShakerLibraryAsImport listInstalledPkgId dflags = dflags {+    packageFlags = nub $ map ExposePackageId listInstalledPkgId ++ oldPackageFlags   }   where oldPackageFlags = packageFlags dflags +searchInstalledPackageId :: String -> Shaker IO (Maybe String)+searchInstalledPackageId pkgName = do +  pkgIndex <- asks shakerPackageIndex+  let srchRes = searchByName pkgIndex pkgName +  return $ processSearchResult srchRes+  where processSearchResult None = Nothing+        processSearchResult (Unambiguous a) = Just $ installedPackageId >>> installedPackageIdString $ head a+        processSearchResult (Ambiguous (a:_)) = Just $ installedPackageId >>> installedPackageIdString $ head a+        processSearchResult _ = Nothing+ handleActionInterrupt :: IO() -> IO() handleActionInterrupt =  C.handle catchAll   where catchAll :: C.SomeException -> IO ()         catchAll e = putStrLn ("Shaker caught " ++ show e ) >>  return ()  --- | Collect module name and tests name for the given module-getModuleMapping :: (GhcMonad m) => ModSummary -> m ModuleMapping-getModuleMapping  modSum = do -  mayModuleInfo <- getModuleInfo $  ms_mod modSum-  let props = getQuickCheckFunction mayModuleInfo-  let hunits = getHunitAssertions mayModuleInfo-  let testCases = getHunitTestCase mayModuleInfo-  return $ ModuleMapping modName hunits testCases props-  where modName = (moduleNameString . moduleName . ms_mod) modSum        -       -getQuickCheckFunction :: Maybe ModuleInfo -> [String]-getQuickCheckFunction = getFunctionNameWithPredicate ("prop_" `isPrefixOf`) --getHunitAssertions :: Maybe ModuleInfo -> [String]-getHunitAssertions = getFunctionTypeWithPredicate (== "Test.HUnit.Lang.Assertion") --getHunitTestCase :: Maybe ModuleInfo -> [String]-getHunitTestCase = getFunctionTypeWithPredicate (== "Test.HUnit.Base.Test") --getFunctionTypeWithPredicate :: (String -> Bool) -> Maybe ModuleInfo -> [String]-getFunctionTypeWithPredicate _ Nothing = []-getFunctionTypeWithPredicate predicat (Just modInfo) = map snd $ filter ( predicat . fst)  typeList-   where idList = getIdList modInfo-         typeList = map ((showPpr . idType) &&& getFunctionNameFromId ) idList --getFunctionNameWithPredicate :: (String -> Bool) -> Maybe ModuleInfo -> [String]-getFunctionNameWithPredicate _ Nothing = []-getFunctionNameWithPredicate predicat (Just modInfo) = -  filter predicat nameList-   where idList = getIdList modInfo-         nameList = map getFunctionNameFromId idList --getFunctionNameFromId :: Id -> String-getFunctionNameFromId = occNameString . nameOccName . varName--getIdList :: ModuleInfo -> [Id]-getIdList modInfo = mapMaybe tyThingToId $ modInfoTyThings modInfo--tyThingToId :: TyThing -> Maybe Id-tyThingToId (AnId tyId) = Just tyId-tyThingToId _ = Nothing- -- | List all test group of the project. -- see "Shaker.TestTH"  listAllTestFrameworkGroupList :: ShakerInput -> ExpQ-listAllTestFrameworkGroupList shIn = runIO (runReaderT collectAllModulesForTest shIn) >>= listTestFrameworkGroupList . removeNonTestModule+listAllTestFrameworkGroupList = shakerModuleData >>> removeNonTestModules >>> listTestFrameworkGroupList   -- | List all test group for test-framework from the list of modules-listTestFrameworkGroupList :: [ModuleMapping] -> ExpQ+listTestFrameworkGroupList :: [ModuleData] -> ExpQ listTestFrameworkGroupList = return . ListE . map getSingleTestFrameworkGroup --- | Remove all modules which does not contain test-removeNonTestModule :: [ModuleMapping] -> [ModuleMapping]-removeNonTestModule = filter (\modMap -> notEmpty (cfHunitAssertion modMap) || notEmpty (cfPropName modMap) || notEmpty (cfHunitTestCase modMap) )-  where notEmpty = not.null- -- * Test framework integration   -- | Generate a test group for a given module-getSingleTestFrameworkGroup :: ModuleMapping -> Exp-getSingleTestFrameworkGroup modMap = foldl1 AppE [process_to_group_exp, test_case_tuple_list, list_assertion, list_prop]-  where process_to_group_exp = AppE (VarE .mkName $ "processToTestGroup") (LitE (StringL $ cfModuleName modMap))-        list_prop = ListE $ map getSingleFrameworkQuickCheck $ cfPropName modMap-        list_assertion = ListE $ map getSingleFrameworkHunit $ cfHunitAssertion modMap-        test_case_tuple_list = convertHunitTestCaseToTuples (cfHunitTestCase modMap)+getSingleTestFrameworkGroup :: ModuleData -> Exp+getSingleTestFrameworkGroup moduleData = foldl1 AppE [process_to_group_exp, test_case_tuple_list, list_assertion, list_prop]+  where process_to_group_exp = AppE (VarE .mkName $ "processToTestGroup") (LitE (StringL $ moduleDataName moduleData))+        list_prop = ListE $ map getSingleFrameworkQuickCheck $ moduleDataProperties moduleData+        list_assertion = ListE $ map getSingleFrameworkHunit $ moduleDataAssertions moduleData+        test_case_tuple_list = convertHunitTestCaseToTuples (moduleDataTestCase moduleData)  convertHunitTestCaseToTuples :: [String] -> Exp convertHunitTestCaseToTuples = ListE . map convertToTuple @@ -198,25 +110,4 @@   where canonical_name = tail . dropWhile (/= '_') $ propName          testproperty_with_name_exp = AppE ( VarE $ mkName "testProperty") (LitE $ StringL canonical_name)         property_exp = VarE . mkName $ propName---- * utility functions ---- | Include only module matching the given pattern-filterModulesWithPattern :: [ModuleMapping]-> String -> [ModuleMapping]-filterModulesWithPattern mod_map pattern = filter (\a -> cfModuleName a `elem` filtered_mod_list) mod_map-  where mod_list = map cfModuleName mod_map-        filtered_mod_list = processListWithRegexp mod_list [] [pattern]--filterFunctionsWithPatterns :: [ModuleMapping] -> [String] -> [ModuleMapping]-filterFunctionsWithPatterns mod_map patterns = map (`filterFunctionsWithPatterns'` patterns) mod_map--filterFunctionsWithPatterns' :: ModuleMapping -> [String] -> ModuleMapping-filterFunctionsWithPatterns' (ModuleMapping name hunitAssertions hunitTestCases properties) patterns = -  ModuleMapping{-    cfModuleName = name-    ,cfHunitAssertion = processListWithRegexp hunitAssertions [] patterns-    ,cfHunitTestCase = processListWithRegexp hunitTestCases [] patterns-    ,cfPropName = processListWithRegexp properties [] patterns-  }- 
src/Shaker/Regex.hs view
@@ -1,4 +1,4 @@--- | Allow to filter a list of string with include and exclude patterns+-- | Allow to filter a list of string with fileListenInfoInclude and exclude patterns module Shaker.Regex(   processListWithRegexp ) where@@ -6,22 +6,22 @@ import Text.Regex.Posix import Data.List --- | Filter all elements matching include patterns and +-- | Filter all elements matching fileListenInfoInclude patterns and  -- remove all elements matching exclude patterns to the result. -- --- If no include pattern is given, all elements are accepted minus those matching exclude patterns.+-- If no fileListenInfoInclude pattern is given, all elements are accepted minus those matching exclude patterns. ----- If no exclude pattern is given, all elements matching include patterns are taken.+-- If no exclude pattern is given, all elements matching fileListenInfoInclude patterns are taken. processListWithRegexp ::    [String] -- ^ Initial list to filter   -> [String] -- ^ exclude patterns (regex)-  -> [String] -- ^ include patterns (regex)-  -> [String] -- ^ List with all elements matching include patterns minus all elements matching exclude patterns+  -> [String] -- ^ fileListenInfoInclude patterns (regex)+  -> [String] -- ^ List with all elements matching fileListenInfoInclude patterns minus all elements matching exclude patterns processListWithRegexp list [] [] = list-processListWithRegexp list ignore [] = nub $ list \\ getExcluded list ignore -processListWithRegexp list [] include = nub $ getIncluded list include-processListWithRegexp list ignore include = -  nub $ getIncluded list include \\ getExcluded list ignore +processListWithRegexp list fileListenInfoIgnore [] = nub $ list \\ getExcluded list fileListenInfoIgnore +processListWithRegexp list [] fileListenInfoInclude = nub $ getIncluded list fileListenInfoInclude+processListWithRegexp list fileListenInfoIgnore fileListenInfoInclude = +  nub $ getIncluded list fileListenInfoInclude \\ getExcluded list fileListenInfoIgnore   getExcluded :: [String] -> [String] -> [String] getExcluded list patterns = filter funExclude list
− src/Shaker/SourceHelper.hs
@@ -1,162 +0,0 @@--- | Utilities function for compilation and haskell file management-module Shaker.SourceHelper(-  -- * Compile input management-  CompileFile(..)-  ,mergeCompileInputsSources-  ,constructCompileFileList-  -- * Target files filtering-  ,setAllHsFilesAsTargets-  ,removeFileWithMain-  ,removeFileWithTemplateHaskell-  ,fillCompileInputWithStandardTarget-  -- * GHC Compile management-  ,initializeGhc-  ,ghcCompile-  ,getFullCompileCompileInput-  -- * module change detection-  ,checkUnchangedSources-  ,isModuleNeedCompilation-)- where--import GHC-import Data.List-import Shaker.Io-import Shaker.Type--import Control.Monad.Reader(ask, asks, lift, runReader, Reader)--import LazyUniqFM-import MkIface -import HscTypes-import Linker--import System.Directory--type CompileR = Reader [CompileFile]--data CompileFile = CompileFile {-  cfFp :: FilePath -  ,cfHasMain :: Bool -  ,cfHasTH :: Bool- } deriving Show---- | Build the list of haskell source files located in --- CompileInput source dirs-constructCompileFileList :: CompileInput -> IO [CompileFile] -constructCompileFileList cpIn = do-  files <- recurseMultipleListFiles fli-  mapM constructCompileFile $ nub files-  where fli = getFileListenInfoForCompileInput cpIn-  --- | Build an individual CompileFile. -constructCompileFile :: FilePath -> IO CompileFile      -constructCompileFile fp = do-  hasMain <- isFileContainingMain fp-  hasTH <- isFileContainingTH fp-  return $ CompileFile fp hasMain hasTH---- | Merge source dirs informations from the CompileInput list to --- create a single CompileInput-mergeCompileInputsSources :: [CompileInput] -> CompileInput-mergeCompileInputsSources [] = defaultCompileInput -mergeCompileInputsSources cplInps@(cpIn:_) = do -  let srcDirs = nub $ concatMap cfSourceDirs cplInps-  let mergedDynFlags = foldl1 (.) (map cfDynFlags cplInps)-  cpIn {cfDynFlags = mergedDynFlags, cfSourceDirs = srcDirs, cfDescription ="Full compilation"} ---- | Configure the CompileInput with all haskell files configured as targets-setAllHsFilesAsTargets :: CompileInput -> CompileR CompileInput-setAllHsFilesAsTargets cpIn = do-  files <- ask-  return cpIn {cfTargetFiles = map cfFp files }---- | Change the dynflags with information from the CompileInput like importPaths --- and .o and .hi directory-configureDynFlagsWithCompileInput :: CompileInput -> DynFlags -> DynFlags -configureDynFlagsWithCompileInput cpIn dflags = dflags{-    importPaths = sourceDirs-    ,objectDir = Just compileTarget-    ,hiDir = Just compileTarget-  }-  where compileTarget = cfCompileTarget cpIn-        sourceDirs = cfSourceDirs cpIn--getFileListenInfoForCompileInput :: CompileInput -> [FileListenInfo] -getFileListenInfoForCompileInput cpIn =-  map (\a -> FileListenInfo a defaultExclude defaultHaskellPatterns) (cfSourceDirs cpIn)--removeFileWithTemplateHaskell :: CompileInput ->CompileR CompileInput-removeFileWithTemplateHaskell = removeFileWithPredicate cfHasTH--removeFileWithMain :: CompileInput -> CompileR CompileInput-removeFileWithMain = removeFileWithPredicate cfHasMain--removeFileWithPredicate :: (CompileFile -> Bool) -> CompileInput -> CompileR CompileInput-removeFileWithPredicate predicate cpIn = do -  cpFl <- ask -  let toRemove = map cfFp $ filter predicate cpFl-  return $ cpIn {cfTargetFiles =  targets \\ toRemove}-  where targets = cfTargetFiles cpIn---- | Fill compile input with every haskell files in the project except those--- containing main and template haskell-fillCompileInputWithStandardTarget :: CompileInput -> CompileR CompileInput -fillCompileInputWithStandardTarget cpIn = setAllHsFilesAsTargets cpIn >>= removeFileWithMain >>=removeFileWithTemplateHaskell---- | Configure and load targets of compilation. --- It is possible to exploit the compilation result after this step.-ghcCompile :: GhcMonad m => CompileInput -> m SuccessFlag-ghcCompile cpIn = do   -     initializeGhc cpIn-     dflags <- getSessionDynFlags-     liftIO $ unload dflags []-     load LoadAllTargets--getFullCompileCompileInput :: Shaker IO (CompileInput)-getFullCompileCompileInput = do-  cpList <- asks compileInputs -  let cpIn = mergeCompileInputsSources cpList-  cfFlList <- lift $ constructCompileFileList cpIn-  return $ runReader (setAllHsFilesAsTargets cpIn >>= removeFileWithMain )  cfFlList--initializeGhc :: GhcMonad m => CompileInput -> m ()-initializeGhc cpIn@(CompileInput _ _ _ procFlags strflags targetFiles) = do   -     modifySession (\h -> h {hsc_HPT = emptyHomePackageTable} )-     dflags <- getSessionDynFlags-     (newFlags,_,_) <- parseDynamicFlags dflags (map noLoc strflags)-     let chgdFlags = configureDynFlagsWithCompileInput cpIn newFlags-     _ <- setSessionDynFlags $ procFlags chgdFlags-     target <- mapM (`guessTarget` Nothing) targetFiles-     setTargets target---- | Check of the module need to be recompile.--- Modify ghc session by adding the module iface in the homePackageTable-isModuleNeedCompilation :: (GhcMonad m) => -  [FilePath] -- ^ List of modified files-  -> ModSummary  -- ^ ModSummary to check-  -> m Bool -- ^ Result : is the module need to be recompiled-isModuleNeedCompilation modFiles ms = do-    hsc_env <- getSession-    source_unchanged <- liftIO $ checkUnchangedSources modFiles ms-    (recom, mb_md_iface ) <- liftIO $ checkOldIface hsc_env ms source_unchanged Nothing-    case mb_md_iface of -        Just md_iface -> do -                let module_name = (moduleName . mi_module) md_iface -                    the_hpt = hsc_HPT hsc_env -                    home_mod_info = HomeModInfo {hm_iface = md_iface, hm_details = emptyModDetails, hm_linkable = Nothing }-                    newHpt = addToUFM  the_hpt module_name home_mod_info-                modifySession (\h -> h {hsc_HPT = newHpt} )-                return recom -        _ -> return True--checkUnchangedSources :: [FilePath] -> ModSummary ->  IO Bool-checkUnchangedSources fps ms = checkUnchangedSources' fps $ (ml_hs_file . ms_location) ms--checkUnchangedSources' :: [FilePath] -> Maybe FilePath ->  IO Bool-checkUnchangedSources' _ Nothing = return False-checkUnchangedSources' modifiedFiles (Just src) = do -   canonical_modFiles <- liftIO $ mapM canonicalizePath modifiedFiles-   cano_src <- canonicalizePath src -   return $ cano_src `notElem` canonical_modFiles-
src/Shaker/TestTH.hs view
@@ -5,7 +5,7 @@  import Shaker.Reflexivite import Language.Haskell.TH-import Shaker.Cabal.CabalInfo+import Shaker.CabalInfo  -- | Template for the test group. -- Currently generate a list of type [Test] with a test group per module
src/Shaker/Type.hs view
@@ -2,10 +2,16 @@ module Shaker.Type  where +import Data.Monoid +import Data.List++import Distribution.Simple.LocalBuildInfo+import Distribution.Simple.PackageIndex+ import DynFlags hiding (OneShot) import qualified Data.Map as M import Control.Monad.Reader-import System.Time(ClockTime)+import System.Time import Control.Concurrent.MVar import Control.Concurrent @@ -17,11 +23,27 @@ type ThreadIdList = MVar [ThreadId] type Token = MVar Int +-- | MVar used to store currentFiles listed+type CurrentFiles = MVar [FileInfo]+-- | MVar used to store modifiedFiles since the last check+type MvModifiedFiles = MVar [FileInfo]+-- | MVar used to pass action to the fileListenInfoDirectory scanner+type Job = MVar [FileListenInfo]+ -- | Environnement for the project compilation -- This environnement can change depending on the compile  -- action called type CompileM = Reader CompileInput +data ConductorData = ConductorData ListenState ([FileInfo] -> IO () )++-- | Agregate all information of listener+data ListenState = ListenState {+  currentFiles :: CurrentFiles  -- ^ Files found in the last check+  ,mvModifiedFiles :: MvModifiedFiles -- ^ Differences between last and before last check+  ,threadIds :: [ThreadId] -- ^ List of all forks id initialized+}+ -- | Duration define the life span of an action data Duration =  	OneShot     -- ^Execute the action and give back control@@ -35,27 +57,27 @@   deriving (Show,Eq,Ord)   -- | The input mvar is used to push the parsed command-type Input = MVar (Maybe Command)+type InputCommand = MVar (Maybe Command)  data InputState = InputState {  -  input :: Input,-  token :: Token -- ^ Token is used to manage the token between action executor and command-line listener+  shakerInputStateCommand :: InputCommand,+  shakerInputStateToken :: Token -- ^ Token is used to manage the token between action executor and command-line listener }  -- | ShakerAction represents the differents actions realisable by shaker-data ShakerAction = -	Compile -- ^ Compile sources with ghc-	| FullCompile -- ^ Compile all hs sources with ghc-        | TestFramework -- ^ Execute both quickcheck and hunit using test framework-        | ModuleTestFramework -- ^ Execute both quickcheck and hunit using test framework with module filtering-        | IntelligentTestFramework -- ^ Execute both quickcheck and hunit using test framework on recompiled modules-        | IntelligentModuleTestFramework -- ^ Execute both quickcheck and hunit using test framework on recompiled modules-        | InvalidAction -- ^ Display an error when invalid action is inputed-	| Help -- ^ Display the help-        | Execute -- ^ Execute a command-        | Empty -- ^ Nothing to execute -	| Quit -- ^ Exit shaker-	| Clean -- ^ Delete generated +data ShakerAction =+  Compile                            -- ^ Compile sources with ghc+    | FullCompile                    -- ^ Compile all hs sources with ghc+    | TestFramework                  -- ^ Execute both quickcheck and hunit using test framework+    | ModuleTestFramework            -- ^ Execute both quickcheck and hunit using test framework with module filtering+    | IntelligentTestFramework       -- ^ Execute both quickcheck and hunit using test framework on recompiled modules+    | IntelligentModuleTestFramework -- ^ Execute both quickcheck and hunit using test framework on recompiled modules+    | InvalidAction                  -- ^ Display an error when invalid action is inputed+    | Help                           -- ^ Display the help+    | Execute                        -- ^ Execute a command+    | Empty                          -- ^ Nothing to execute+    | Quit                           -- ^ Exit shaker+    | Clean                          -- ^ Delete generated   deriving (Show,Eq,Ord)  -- | Command agregate a duration with an action@@ -64,61 +86,117 @@  -- | Represents the global configuration of the system data ShakerInput = ShakerInput {-  compileInputs :: [CompileInput]-  ,listenerInput :: ListenerInput-  ,pluginMap :: PluginMap-  ,commandMap :: CommandMap-  ,argument :: [String]-  ,modifiedInfoFiles :: [FileInfo]-  ,threadData :: ThreadData -  ,inputState :: InputState - }  +  shakerCompileInputs      :: [CompileInput]+  ,shakerListenerInput     :: ListenerInput+  ,shakerPluginMap         :: PluginMap+  ,shakerCommandMap        :: CommandMap+  ,shakerArgument          :: [String]+  ,shakerModifiedInfoFiles :: [FileInfo]+  ,shakerThreadData        :: ThreadData+  ,shakerInputState        :: InputState+  ,shakerLocalBuildInfo    :: LocalBuildInfo+  ,shakerPackageIndex      :: PackageIndex+  ,shakerModuleData        :: [ModuleData]+ }   data ThreadData = ThreadData {-    listenToken :: Token -    ,quitToken :: Token -    ,threadIdListenList :: ThreadIdList-    ,threadIdQuitList :: ThreadIdList+    threadDataListenToken :: Token+    ,threadDataQuitToken  :: Token+    ,threadDataListenList :: ThreadIdList+    ,threadDataQuitList   :: ThreadIdList  }       getListenThreadList :: ShakerInput -> ThreadIdList -getListenThreadList = threadIdListenList . threadData+getListenThreadList = threadDataListenList . shakerThreadData    -- | Configuration flags to pass to the ghc compiler data CompileInput = CompileInput{-  cfSourceDirs :: [String] -- ^ Source directory of haskell files-  ,cfDescription :: String -- ^ Desctipition of the compile input (executable or library if comming from cabal)-  ,cfCompileTarget :: String  -- ^ Destination of .o and .hi files-  ,cfDynFlags :: (DynFlags->DynFlags) -- ^ A transform fonction wich will takes the DynFlags of the current ghc session and change some values-  ,cfCommandLineFlags :: [String]  -- ^ The command line to pass options to pass to the ghc compiler-  ,cfTargetFiles :: [String] -- ^ List of files or list of modules to compile+  compileInputSourceDirs        :: [String]           -- ^ Source fileListenInfoDirectory of haskell files+  ,compileInputBuildDirectory   :: String             -- ^ Destination of .o and .hi files+  ,compileInputDynFlags         :: DynFlags->DynFlags -- ^ A transform fonction wich will takes the DynFlags of the current ghc session and change some values+  ,compileInputCommandLineFlags :: [String]           -- ^ The command line to pass options to pass to the ghc compiler+  ,compileInputTargetFiles      :: [String]           -- ^ List of files or list of modules to compile } +-- | Default compilation shakerArgument.+-- Wall is activated by default+instance Monoid CompileInput where+  mempty = CompileInput {+    compileInputSourceDirs        = ["."]+    ,compileInputBuildDirectory   = "dist/shakerTarget"+    ,compileInputDynFlags         = defaultCompileFlags+    ,compileInputCommandLineFlags = ["-Wall"]+    ,compileInputTargetFiles      = []+    }+  mappend cpIn1 cpIn2 = CompileInput {+    compileInputSourceDirs        = nub $ compileInputSourceDirs cpIn1 `mappend` compileInputSourceDirs cpIn2+    ,compileInputBuildDirectory   = compileInputBuildDirectory cpIn1+    ,compileInputDynFlags         = compileInputDynFlags cpIn1 . compileInputDynFlags cpIn2+    ,compileInputCommandLineFlags = nub $ compileInputCommandLineFlags cpIn1 `mappend` compileInputCommandLineFlags cpIn2+    ,compileInputTargetFiles      = nub $ compileInputTargetFiles cpIn1 `mappend` compileInputTargetFiles cpIn2+  }+ instance Show CompileInput - where show (CompileInput src desc _ _ commandLine target) = -         concat ["CompileInput |source : ",show src," |desc : ",desc," |cmdLine : ",show commandLine," |targetfiles : ", show target]+ where show (CompileInput src _ _ commandLine target) = +         concat ["CompileInput |source : ",show src," |cmdLine : ",show commandLine," |targetfiles : ", show target]  -- | Configuration of the continuous listener data ListenerInput = ListenerInput {-  fileListenInfo :: [FileListenInfo] -- ^ The files to listen-  ,delay :: Int  -- ^ Delay beetween 2 check in microsecond+  listenerInputFiles  :: [FileListenInfo] -- ^ The files to listen+  ,listenerInputDelay :: Int  -- ^ Delay beetween 2 check in microsecond } --- | Represents directory to listen +-- | The default Listener configuration+-- Listened sources are all haskell sources in .+-- The default listenerInputDelay is 2 sec+instance Monoid ListenerInput where +  mempty = ListenerInput {+    listenerInputFiles  = mempty+    ,listenerInputDelay = 1000000+    }+  mappend l1 l2 = ListenerInput {+    listenerInputFiles  = listenerInputFiles l1 `mappend` listenerInputFiles l2+    ,listenerInputDelay = listenerInputDelay l1+    }++-- | Represents fileListenInfoDirectory to listen  data FileListenInfo = FileListenInfo{-  dir :: FilePath     -- ^ location of the listened directory-  ,ignore :: [String] -- ^ ignore patterns-  ,include :: [String] -- ^include patterns+  fileListenInfoDir      :: FilePath     -- ^ location of the listened fileListenInfoDirectory+  ,fileListenInfoIgnore  :: [String] -- ^ fileListenInfoIgnore patterns+  ,fileListenInfoInclude :: [String] -- ^fileListenInfoInclude patterns   }   deriving (Show,Eq) +instance Monoid FileListenInfo where+  mempty        = FileListenInfo "." defaultExclude defaultHaskellPatterns+  mappend f1 f2 = FileListenInfo {+    fileListenInfoDir      = fileListenInfoDir f1+    ,fileListenInfoIgnore  = nub $ fileListenInfoIgnore f1 `mappend` fileListenInfoIgnore f2+    ,fileListenInfoInclude = nub $ fileListenInfoInclude f1 `mappend` fileListenInfoInclude f2+  }+ -- |Agregate a FilePath with its modification time data FileInfo = FileInfo {   fileInfoFilePath :: FilePath- ,fileInfoClockTime:: ClockTime + ,fileInfoClockTime:: ClockTime   }   deriving (Show,Eq)-  ++data PackageData = PackageData {+    packageDataMapImportToModules  :: MapImportToModules+    ,packageDataListProjectModules :: [String]+ }++data ModuleData = ModuleData {+  moduleDataName        :: String+  ,moduleDataFileName   :: String+  ,moduleDataHasMain    :: Bool+  ,moduleDataProperties :: [String]+  ,moduleDataAssertions :: [String]+  ,moduleDataTestCase   :: [String]+ } deriving (Show, Read)++type MapImportToModules = M.Map String [String] -- | Represents the mapping beetween an action and the function to execute type PluginMap = M.Map ShakerAction Plugin -- | Represents the mapping between the command-line input and the action@@ -126,40 +204,18 @@ -- | Represents an action of shaker type Plugin = Shaker IO() - -- * Default data---- | Default compilation argument.--- Wall is activated by default-defaultCompileInput :: CompileInput-defaultCompileInput = CompileInput {-  cfSourceDirs= ["src/","testsuite/tests/", "dist/build/autogen"]-  ,cfDescription = "Default Compilation"-  ,cfCompileTarget =  "dist/shakerTarget"  -  ,cfDynFlags = defaultCompileFlags  -  ,cfCommandLineFlags = ["-Wall"]-  ,cfTargetFiles = []-}-+  -- | default dynamics flags -- the sources are expected to be in src as described in <http://www.haskell.org/haskellwiki/structure_of_a_haskell_project>--- the result of compilation (.o and .hi) are placed in the target/ directory+-- the result of compilation (.o and .hi) are placed in the dist/shakerTarget -- there is no main linkage by default to allow faster compilation feedback defaultCompileFlags :: (DynFlags -> DynFlags)-defaultCompileFlags = \a-> a  {+defaultCompileFlags a = a  {     verbosity = 1     ,ghcLink = NoLink }  --- | The default Listener configuration--- Listened sources are all haskell sources in src/ and testsuite/--- The default delay is 2 sec-defaultListenerInput :: ListenerInput                                   -defaultListenerInput = ListenerInput {-    fileListenInfo= [FileListenInfo "src/" [] defaultHaskellPatterns, FileListenInfo "testsuite/" [] defaultHaskellPatterns ]-    ,delay = 2000000-    }- -- | Default haskell file pattern : *.hs defaultHaskellPatterns :: [String] defaultHaskellPatterns = [".*\\.hs$", ".*\\.lhs"]@@ -174,3 +230,14 @@ emptyCommand :: Command  emptyCommand = Command OneShot [Action Empty]  +listTestLibs :: [String]+listTestLibs = ["QuickCheck","HUnit","test-framework-hunit","test-framework","test-framework-quickcheck2","shaker"] ++instance Eq ModuleData where+ mod1 == mod2 = moduleDataName mod1 == moduleDataName mod2++moduleDataExtension :: String+moduleDataExtension = ".mdata"++defaultDistDir :: String+defaultDistDir = "dist/shakerTarget"
− testsuite/tests/RunTestTH.hs
@@ -1,22 +0,0 @@-{-# LANGUAGE TemplateHaskell #-}-module Main- where--import Shaker.TestHelper-import Shaker.TestTH-import Shaker.Cabal.CabalInfoTest-import Shaker.Action.CompileTest-import Shaker.CliTest-import Shaker.ListenerTest-import Shaker.ParserTest-import Shaker.RegexTest-import Shaker.IoTest-import Shaker.ReflexiviteTest-import Shaker.SourceHelperTest-import Test.Framework-import Test.Framework.Providers.HUnit-import Test.Framework.Providers.QuickCheck2--main :: IO()-main = defaultMain $(thListTestFramework)-
− testsuite/tests/Shaker/Action/CompileTest.hs
@@ -1,24 +0,0 @@-module Shaker.Action.CompileTest- where--import Shaker.Action.Compile-import Test.HUnit-import System.Directory-import Control.Monad.Reader-import Shaker.CommonTest -  -testRunCompileProject :: Assertion-testRunCompileProject = -  testShakerInput >>= runReaderT runCompile  >> -  getDirectoryContents "dist/shakerTarget/Shaker" >>= \cont ->-  doesFileExist "dist/shakerTarget/Shaker/Action/CompileTest.o" >>= \ex ->-  doesFileExist "dist/shakerTarget/Shaker/Action/CompileTest.hi" >>= \ex2 ->-  assertBool ("File .o and hi should exists "++ show cont) (ex && ex2)--testRunFullCompile :: Assertion-testRunFullCompile = do-  testShakerInput >>= runReaderT runFullCompile -  cont <- getDirectoryContents "dist/shakerTarget/Shaker" -  ex <- doesFileExist "dist/shakerTarget/Shaker/Conductor.o" -  assertBool ("Conductor.o should exist, got "++show cont) ex-
− testsuite/tests/Shaker/Cabal/CabalInfoTest.hs
@@ -1,66 +0,0 @@-module Shaker.Cabal.CabalInfoTest- where --import Control.Monad.Reader-import System.Directory-import Shaker.Action.Compile-import Shaker.Action.Standard-import Shaker.Type-import Shaker.CommonTest-import Test.HUnit-import Shaker.Cabal.CabalInfo-import DynFlags( DynFlags, packageFlags, importPaths ,PackageFlag (ExposePackage) , defaultDynFlags-        )--testParseCabalConfig :: Assertion-testParseCabalConfig =  runTestOnDirectory "testsuite/tests/resources/cabalTest" $ do  -  shIn <- defaultCabalInput-  let cplInps@(cplLib:cplExe:[]) = compileInputs shIn-  length cplInps == 2 @? "Should have two compile input, one executable and one library, got "++ show ( length cplInps)-  all (`elem` cfSourceDirs cplLib) ["dist/build/autogen","src"] @? "source dir should have src and dist/build/autogen, got " ++ show (cfSourceDirs cplLib)-  cfCommandLineFlags cplLib == ["-hide-all-packages", "-Wall"] @? "command line flags should be -Wall, got " ++ show ( cfCommandLineFlags cplLib)-  cfTargetFiles cplLib == ["CabalTest"]  @? "targetFiles should be CabalTest, got "++ show ( cfTargetFiles cplLib)-  cfTargetFiles cplExe == ["src/Main.hs"]  @? "targetFiles should be src/Main.hs, got "++ show ( cfTargetFiles cplExe)-  let dFlags = cfDynFlags cplExe defaultDynFlags-  all (`elem` importPaths dFlags) ["dist/build/autogen","src"] @? "importPaths should be contains src and dist/build/autogen, got "++ show (importPaths dFlags)-  (ExposePackage "ghc") `elem` packageFlags dFlags @? "Expected : ExposePackage ghc. No show instance so figure it yourself... (/me being lazy)" -  let (ListenerInput (_:srcLib:[]) _) = listenerInput shIn-  dir srcLib == "src" @? "Expected : src, got " ++ show srcLib--testConditionalFlag :: Assertion-testConditionalFlag = runTestOnDirectory "testsuite/tests/resources/cabalTest" $ do  -  shIn <- testShakerInput-  let (_:cplExe:[]) = compileInputs shIn-  let packageList = packageFlags $ cfDynFlags cplExe defaultDynFlags-  all (`elem` packageList) [ExposePackage "mtl",ExposePackage "bytestring-mmap"] @? "mtl and bytestring-mmap should be exposed package, got "++ (show $ map showExposed packageList)-  not ( (ExposePackage "shaker") `elem` packageList ) @? "shaker should not be present as exposed package"--showExposed :: PackageFlag -> String-showExposed (ExposePackage str) = str-showExposed _ = ""--testInvalidMainShouldBeExcluded :: Assertion-testInvalidMainShouldBeExcluded =  runTestOnDirectory "testsuite/tests/resources/invalidMain" $ do- shIn <- defaultCabalInput- let (cplExe:[]) = compileInputs shIn- cfTargetFiles cplExe == ["src/Main.hs"] @? "since tests/Main.hs is invalid, should have only src/Main.hs, got " ++ show (cfTargetFiles cplExe)--testCompileWithLocalSource :: Assertion-testCompileWithLocalSource =  runTestOnDirectory "testsuite/tests/resources/noSourceConfig" $ do- shIn <- defaultCabalInput- runReaderT runCompile shIn- ex <- doesFileExist "dist/shakerTarget/Main.o" - runReaderT runClean shIn- ex2 <- doesFileExist "dist/shakerTarget/Main.o" - ex && not ex2 @? "file main should exist and be cleaned"---testProjectCabalContentWithLocalSource :: Assertion-testProjectCabalContentWithLocalSource = -    runTestOnDirectory "testsuite/tests/resources/noSourceConfig" $ do-    shIn <- defaultCabalInput-    let cplInps@(cplInp:_) = compileInputs shIn-    length cplInps == 1 @? "Should have one compile input, got "++ show (length cplInps)-    let targs = cfTargetFiles cplInp-    targs == ["./noHsSource.hs"] @? "Expected [\"./noHsSource.hs\"] got " ++ show cplInp-
− testsuite/tests/Shaker/CliTest.hs
@@ -1,51 +0,0 @@-module Shaker.CliTest- where--import Data.Char--import Control.Monad-import Test.QuickCheck -import Test.QuickCheck.Monadic-import Shaker.Type-import Shaker.Cli-import Shaker.Config-import Shaker.Properties()-import System.Console.Haskeline.Completion--instance Arbitrary ShakerAction where-  arbitrary = elements [Compile,Quit,Help]--instance Arbitrary Action where-  arbitrary = Action `liftM` arbitrary--data ActionInt = ActionInt ShakerAction Int-  deriving (Show)-instance Arbitrary ActionInt where-  arbitrary = ActionInt `liftM` arbitrary-                        `ap` elements [1..6]--checkRes :: Monad m => String -> String -> PropertyM m ()-checkRes incomplete expected = do-  proposedActions <- listActions defaultInput incomplete-  assert $ any (\a -> replacement a == map toLower expected ) proposedActions--prop_completeWord :: Action -> Property-prop_completeWord act = monadicIO $ checkRes str str -  where str = show act--prop_partialWords :: ActionInt -> Property-prop_partialWords (ActionInt act num) = monadicIO $ checkRes incomplete strAct -  where strAct = show act -        incomplete = take num strAct--prop_completeMultipleWords :: [Action] -> Property-prop_completeMultipleWords acts = (not . null) acts ==> monadicIO $ checkRes cliInput cliInput -  where cliInput = unwords (map show acts)--prop_partialMultipleWords :: [Action] -> ActionInt -> Property-prop_partialMultipleWords acts (ActionInt act num) = (not . null) acts ==> monadicIO $ checkRes cliInput expected-  where cliInput = strActs ++ " " ++ take num strAct-        strAct = show act -        strActs =unwords $ map show acts -        expected = unwords [strActs,strAct] -
− testsuite/tests/Shaker/CommonTest.hs
@@ -1,46 +0,0 @@-module Shaker.CommonTest- where --import System.Directory-import Test.HUnit-import Control.Exception-import Shaker.Type-import Shaker.SourceHelper-import Shaker.Cabal.CabalInfo--import Control.Monad.Reader(runReader)--import GHC-import GHC.Paths--runTestOnDirectory :: FilePath -> Assertion -> Assertion-runTestOnDirectory fp fun = do-  oldDir <- getCurrentDirectory -  setCurrentDirectory fp-  finally fun (setCurrentDirectory oldDir)--testCompileInput ::IO CompileInput -testCompileInput = defaultCabalInput >>= return . mergeCompileInputsSources . compileInputs--initializeEmptyCompileInput :: CompileInput -initializeEmptyCompileInput = CompileInput {-  cfSourceDirs = []-  ,cfDescription = ""-  ,cfCompileTarget = ""-  ,cfDynFlags = id-  ,cfCommandLineFlags =[]-  ,cfTargetFiles = []-}--testShakerInput :: IO ShakerInput-testShakerInput = defaultCabalInput--compileProject :: IO(CompileInput, [CompileFile])-compileProject = do-  cpIn <- testCompileInput -  cfFlList <- constructCompileFileList cpIn-  _ <- runGhc (Just libdir) $ -      ghcCompile $ runReader (fillCompileInputWithStandardTarget cpIn) cfFlList-  return (cpIn, cfFlList)--
− testsuite/tests/Shaker/ConductorTest.hs
@@ -1,4 +0,0 @@-module Shaker.ConductorTest- where--
− testsuite/tests/Shaker/IoTest.hs
@@ -1,96 +0,0 @@-module Shaker.IoTest- where--import Shaker.Io-import Shaker.Type-import System.Time-import Data.List-import Test.HUnit hiding (assert)--aTimeDiff :: TimeDiff-aTimeDiff = TimeDiff { tdYear = 0, tdMonth = 0, tdDay = 0, tdHour =0, tdMin=0, tdSec = -1, tdPicosec =0 }--modifyFileInfoClock :: FileInfo -> FileInfo-modifyFileInfoClock (FileInfo fp cl) = FileInfo fp (addToClockTime aTimeDiff cl)--defaultFileListenInfo :: FileListenInfo-defaultFileListenInfo = FileListenInfo "src" [] [] --type ExpectedFiles = [FilePath]-type PresentFiles = [FilePath]--abstractHunitTestListFiles :: FileListenInfo -> (PresentFiles -> ExpectedFiles -> Bool) -> IO Bool-abstractHunitTestListFiles fli predicat = do -  normal_list <- listFiles fli{ignore= []}-  res <- listFiles fli-  return $ predicat normal_list res--type ModifyFileInfo = [FileInfo] -> [FileInfo]-type Predicat = [FileInfo] -> [FileInfo] ->Bool--abstractTestModifiedFiles :: FileListenInfo -> ModifyFileInfo -> Predicat -> IO Bool-abstractTestModifiedFiles fli proc predicat= do-     curList <- getCurrentFpCl fli -     (_,newList) <- listModifiedAndCreatedFiles [fli] (proc curList)-     return $ predicat curList newList --testListFiles :: Assertion-testListFiles =  do -  res <- abstractHunitTestListFiles defaultFileListenInfo (\_ b -> length b > 2 )-  res  @? "should have more than 2 files in src/"--testListFilesWithIgnoreAll :: Assertion-testListFilesWithIgnoreAll =  do -  res <- abstractHunitTestListFiles defaultFileListenInfo {ignore=[".*"]} (\_ b -> b == [] )-  res  @? "List with ignore all should return an empty list"--testListFilesWithIgnore :: Assertion-testListFilesWithIgnore =  do-  res <-  abstractHunitTestListFiles defaultFileListenInfo {ignore=["\\.$"]} (\a b -> length a  ==length b + 2)-  res @? "ignore of \\.$ should exclude only . and .."--testListFilesWithIncludeAll :: Assertion-testListFilesWithIncludeAll =  do -  res <- abstractHunitTestListFiles defaultFileListenInfo {include=[".*"]} (\a b->length a == length b)-  res @? "inclue of .* should should list all files"--testListModifiedFiles :: Assertion-testListModifiedFiles =  do-  res <- abstractTestModifiedFiles defaultFileListenInfo (map modifyFileInfoClock) (\a b -> length a == length b)-  res @? "all modified files should be listed "--testListCreatedFiles :: Assertion-testListCreatedFiles =  do-  res <- abstractTestModifiedFiles defaultFileListenInfo init (\_ b -> length b==1)-  res @? "a created file should be listed "--testListModifiedAndCreatedFiles :: Assertion-testListModifiedAndCreatedFiles =  do-  res <- abstractTestModifiedFiles defaultFileListenInfo (map modifyFileInfoClock . init) (\a b -> length a == length b)-  res @? "should list modified and created files"--testRecurseListFiles :: Assertion-testRecurseListFiles =  -  recurseListFiles (FileListenInfo "." ["\\.$"] []) >>= \res ->-  any ("IoTest.hs" `isSuffixOf`) res @? "Should contains IoTest.hs file "++show res-  -testListHsFiles :: Assertion-testListHsFiles = -  recurseListFiles (FileListenInfo "." [] [".*\\.hs$"]) >>= \res ->-  all (".hs" `isSuffixOf`) res @?  "Should only contains hs files " ++ show res-    -testIsFileContainingMain :: Assertion-testIsFileContainingMain =  do-  res <- isFileContainingMain "prog/Shaker.hs" -  res @? "File Shaker.hs should contain main methods" --testIsFileNotContainingMain :: Assertion-testIsFileNotContainingMain =  do-  res <- isFileContainingMain "src/Shaker/Config.hs"-  not res @? "File Config.hs should not contain main methods" --testIsFileConductorNotContainingMain :: Assertion-testIsFileConductorNotContainingMain =  do-  res <- isFileContainingMain "src/Shaker/Conductor.hs"-  not res @?  "File Config.hs should not contain main methods" -
− testsuite/tests/Shaker/ListenerTest.hs
@@ -1,40 +0,0 @@-module Shaker.ListenerTest-where--import Control.Concurrent-import Shaker.Listener-import Test.HUnit -import Shaker.Type-import Shaker.Io-import System.Time--testUpdateFileStat :: Assertion-testUpdateFileStat = do-  let clockTime = TOD 100 100-  let curF = [FileInfo "." clockTime]-  let curM = [FileInfo ".." clockTime]-  mC <- newMVar []-  mM <- newEmptyMVar -  (updateFileStat mC mM curF curM) -  mCurF <- readMVar mC-  curF == mCurF @? "current file should be equal to the file in mvar"--testSchedule :: Assertion-testSchedule = do-  let fli = FileListenInfo "." [] []-  mJ <- newEmptyMVar -  schedule (ListenerInput [fli] 0) mJ-  res <- (tryTakeMVar mJ)-  res == Just [fli] @? "scheduled fileListenInfo should be put in the job mvar"--testListen :: Assertion-testListen = do -  let fli = FileListenInfo "." [] []-  expected <- getCurrentFpCl fli-  mC <- newMVar []-  mM <- newEmptyMVar -  mJ <- newMVar [fli]-  listen mC mM mJ-  Just res <- tryTakeMVar mC-  expected == res @? "listen should processe the FileListenInfo in the job box"-
− testsuite/tests/Shaker/ParserTest.hs
@@ -1,72 +0,0 @@-module Shaker.ParserTest- where--import Control.Arrow --import Test.QuickCheck-import Shaker.Type-import Shaker.Parser-import Shaker.Config-import Shaker.PluginConfig-import Shaker.Properties -import Data.Map (toList)-import Data.Char- -prop_parseDefaultAction :: String -> Bool-prop_parseDefaultAction act = either (\_ -> True) (\_ -> False) res-  where res = parseCommand ('x' :act) defaultInput --prop_parseCommand :: CommandString -> Bool-prop_parseCommand (CommandString str expCom) = either (\_ -> False) (== expCom) res-  where res = parseCommand str defaultInput---- * Arbitrary instances ---- | Command with corresponding string to be parsed-data CommandString = CommandString {-        comStr :: String -        ,command::Command -} deriving (Show)---- | Action paired with expected string to be parsed-data ActionString = ActionString {-       cfActionStr :: String -       ,cfAction :: Action-} deriving (Show)--constructActionString :: (String, ShakerAction) -> ActionString-constructActionString (key, value) = ActionString key (Action value)--instance Arbitrary ActionString where-  arbitrary = do -        list_str <- createListName-        proc (filter (/="") list_str)-        where -              -- Build action string without arg-              proc [] = oneof [-                         elements $ map (constructActionString . first (map toUpper)) listCommandMap -                         ,elements $ map constructActionString listCommandMap-                        ]-              -- build action string with args-              proc list = elements $ map (\(key,value) -> ActionString (key ++ " " ++ unwords list) (ActionWithArg value list)  ) listCommandMap -              listCommandMap = toList defaultCommandMap --trim :: String -> String-trim = reverse . dropWhile isSpace . reverse--instance Arbitrary CommandString where-  arbitrary = do -    dur <- elements [Continuous,OneShot]-    spaces <- listOf $ elements " "-    actionString_list <- listOf1 arbitrary-    elements [-        CommandString { comStr = getStringFromDurationAndAction dur actionString_list-          ,command = Command dur (map cfAction actionString_list) }-        , CommandString spaces $ Command OneShot [Action Empty]-        ]--getStringFromDurationAndAction :: Duration -> [ActionString] -> String-getStringFromDurationAndAction dur acts  =-     foldl (\a b-> a ++ " " ++ cfActionStr b ++ " " ) (seed dur) acts-     where seed Continuous = "~"-           seed _ = ""
− testsuite/tests/Shaker/Properties.hs
@@ -1,57 +0,0 @@-module Shaker.Properties- where --import Control.Monad-import Test.QuickCheck -import Shaker.Type-import System.Time-import Shaker.Reflexivite--instance Arbitrary TimeDiff where-   arbitrary =  TimeDiff `liftM` genSmallNumber-			 `ap` genSmallNumber -			 `ap` genSmallNumber -			 `ap` genSmallNumber -			 `ap` genSmallNumber -			 `ap` genSmallNumber -			 `ap` elements [1..10] --instance Arbitrary ClockTime where-   arbitrary = TOD `liftM` elements [1..1000]-		   `ap` elements [1..1000]--instance Arbitrary FileListenInfo where -   arbitrary = do-     gen_dir <- elements ["src","testsuite"]-     sizeIgnore <- genSmallNumber-     gen_ignore <- vectorOf sizeIgnore $ elements ["\\.$","ab"]-     gen_include <- elements [[],[".*"]]-     return $ FileListenInfo gen_dir gen_ignore gen_include--instance Arbitrary FileInfo where-   arbitrary = arbitrary >>= \cl ->-               elements [".",".."] >>= \ele ->-               return $ FileInfo ele cl--instance Arbitrary ModuleMapping where -  arbitrary = do -              name <- createShortName-              listHunitName <- listOf createShortName -              listPropName <- listOf createShortName -              listTestCases <- listOf createShortName -              return $ ModuleMapping name listHunitName listTestCases listPropName--genSmallNumber :: Gen Int-genSmallNumber = elements [0..10]--createListName :: Gen [String]-createListName = do - sizeList <- genSmallNumber- vectorOf sizeList createShortName--createShortName :: Gen String-createShortName = do- sizeName <- genSmallNumber- vectorOf sizeName letters- where letters = elements $ '.' : ['a'..'z'] -
− testsuite/tests/Shaker/ReflexiviteTest.hs
@@ -1,139 +0,0 @@-module Shaker.ReflexiviteTest- where--import Test.HUnit-import Test.QuickCheck --import Data.List--import Control.Monad.Reader(runReaderT)-import Shaker.Reflexivite-import Shaker.Type-import Shaker.CommonTest-import Shaker.Properties()--import System.Time-import System.Directory-import System.FilePath -import Language.Haskell.TH---- * Module mapping construction test--abstractTestModuleMapping :: ([ModuleMapping] -> Assertion) -> Assertion-abstractTestModuleMapping predicat = testShakerInput >>= runReaderT collectAllModulesForTest >>= predicat--testModuleMappingLength :: Assertion-testModuleMappingLength = abstractTestModuleMapping predicat-  where predicat modMapLst = length modMapLst > 1 @? "Should have more than one module, got : "++ show (length modMapLst) --testModuleMappingContainReflexiviteTest :: Assertion-testModuleMappingContainReflexiviteTest = abstractTestModuleMapping predicat-  where predicat modMapLst = any ( \mm -> cfModuleName mm == "Shaker.ReflexiviteTest") modMapLst @?  "Should have module Shaker.ReflexiviteTest, got " ++ show modMapLst--testModuleMappingShouldNotContainRunTestTH :: Assertion-testModuleMappingShouldNotContainRunTestTH = abstractTestModuleMapping predicat-  where predicat modMapLst = not (any (\a ->cfModuleName a == "Shaker.RunTestTH") modMapLst) @? "Should have excluded RunTestTH, got " ++ show modMapLst---- * Reflexivite module Test --abstractModuleMappingReflexiviteTest :: (ModuleMapping -> Assertion) -> Assertion-abstractModuleMappingReflexiviteTest predicat = do-  modMapLst <- runReaderT collectAllModulesForTest =<< testShakerInput -  let (Just reflexiviteModMap)  = find (\mm -> cfModuleName mm == "Shaker.ReflexiviteTest" ) modMapLst-  predicat reflexiviteModMap--testReflexiviteTestContainQuickcheckProperty :: Assertion-testReflexiviteTestContainQuickcheckProperty = abstractModuleMappingReflexiviteTest predicat-  where predicat reflexiviteModule = any (== "prop_filterModMap_include_all") (cfPropName reflexiviteModule) -          @? "ReflexiviteModule should contains quickechck properties prop_filterModMap_include_all, got " ++ show (cfPropName reflexiviteModule)--testReflexiviteTestContainHunitAssertion :: Assertion-testReflexiviteTestContainHunitAssertion = abstractModuleMappingReflexiviteTest predicat-  where predicat reflexiviteModule = any (== "testReflexiviteTestContainHunitAssertion") (cfHunitAssertion reflexiviteModule) -          @? "ReflexiviteModule should contain hunit assertion testReflexiviteTestContainHunitAssertion, got " ++ show (cfHunitAssertion reflexiviteModule)--testReflexiviteTestShouldContainTestCase :: Assertion-testReflexiviteTestShouldContainTestCase = abstractModuleMappingReflexiviteTest predicat-  where predicat reflexiviteModule = any (== "testHunitTestCaseDetection") (cfHunitTestCase reflexiviteModule) -          @? "ReflexiviteModule should contain testCase testHunitTestCaseDetection, got " ++ show (cfHunitTestCase reflexiviteModule)-  -testHunitTestCaseDetection :: Test-testHunitTestCaseDetection = TestCase $ True @? "Trivial"--testListAllTestFrameworkGroupList :: Assertion-testListAllTestFrameworkGroupList = do-  resolved_exp <- runQ . listAllTestFrameworkGroupList =<< testShakerInput-  let function =  filter (/= '\n') $ pprint resolved_exp-  "processToTestGroup \"Shaker.ReflexiviteTest\" [(\"testHunitTestCaseDetection\"" `isInfixOf` function @? "listAllTestFrameworkGroupList should have correctly setted hunit to test framework conversion"--aFun :: String -> IO ()-aFun tempFp = do-  exist <- doesDirectoryExist tempFp-  proc exist tempFp            -  where proc True fp = removeDirectory fp >> createDirectory fp-        proc _ fp = createDirectory fp--testRunFunction :: Assertion-testRunFunction = templateTestRunFunction ["Shaker.ReflexiviteTest"]--testRunFunctionWithEmptyModule :: Assertion-testRunFunctionWithEmptyModule = templateTestRunFunction [] --templateTestRunFunction :: [String] -> Assertion-templateTestRunFunction modules=  do -  tempFp <- getTemporaryDirectory >>= \a -> return $ a++"/testSha"-  let run = RunnableFunction modules $ "aFun " ++ show tempFp-  runReaderT (runFunction run) =<< testShakerInput -  doesDirectoryExist tempFp @? "Directory /tmp/testSha should have been created"-  -testCollectChangedModules :: Assertion-testCollectChangedModules =  do-  (cpIn,_) <- compileProject-  exp_no_modules <- runReaderT collectChangedModulesForTest =<< testShakerInput -  length exp_no_modules == 0 @? "There should be no modules to recompile"-  -- Remove a target file -  let target = cfCompileTarget cpIn </> "Shaker" </> "SourceHelperTest.hi"-  removeFile target-  exp_one_modules <- runReaderT collectChangedModulesForTest =<< testShakerInput -  length exp_one_modules == 1 @? "One module (SourceHelperTest) should need compilation"--testCollectChangedModulesForTestHunit:: Assertion-testCollectChangedModulesForTestHunit =  do-  (cpIn,_) <- compileProject-  let target = cfCompileTarget cpIn </> "Shaker" </> "SourceHelperTest.hi"-  removeFile target-  exp_one_modules <- runReaderT collectChangedModulesForTest =<< testShakerInput -  length exp_one_modules == 1 @? "One module should need compilation"-  let module_mapping = head exp_one_modules -  cfModuleName module_mapping == "Shaker.SourceHelperTest" @? "module SourceHelperTest should need recompilation, got " ++ cfModuleName module_mapping -  length (cfHunitAssertion module_mapping) >2  @? "module SourceHelperTest should have hunit test" -  -testCollectChangedModulesForTestQuickCheck :: Assertion-testCollectChangedModulesForTestQuickCheck =  do-  (cpIn,_) <- compileProject-  let target = cfCompileTarget cpIn </> "Shaker" </> "RegexTest.hi"-  removeFile target-  exp_one_modules <- runReaderT collectChangedModulesForTest =<< testShakerInput -  let module_mapping = head exp_one_modules  -  length exp_one_modules == 1 @? "One module should need compilation"-  cfModuleName module_mapping == "Shaker.RegexTest" @? "module RegexTest should need recompilation, got " ++ cfModuleName module_mapping -  length (cfPropName module_mapping) >2  @? "module RegexTest should have properties" --testCollectChangedModulesWithModifiedFiles :: Assertion-testCollectChangedModulesWithModifiedFiles =  do-  (cpIn,_) <- compileProject-  let sources = map (</> "Shaker" </> "SourceHelperTest.hs") (cfSourceDirs cpIn)-  let modFileInfo = map (\a -> FileInfo a (TOD 0 0) ) sources-  shIn <- testShakerInput -  exp_one_modules <- runReaderT collectChangedModulesForTest shIn {modifiedInfoFiles = modFileInfo }-  length exp_one_modules == 1 @? "One module should need compilation"--prop_filterModMap_include_all :: [ModuleMapping] -> Bool-prop_filterModMap_include_all modMap = modMap == res-  where res = filterModulesWithPattern modMap ".*"-        -prop_filterModMap_include_some :: [ModuleMapping] -> Property-prop_filterModMap_include_some modMap = (not . null) modMap ==> head res == head modMap-  where module_name = (cfModuleName . head) modMap-        res = filterModulesWithPattern modMap module_name-
− testsuite/tests/Shaker/RegexTest.hs
@@ -1,18 +0,0 @@-module Shaker.RegexTest- where-import Shaker.Regex-import Data.List --prop_filterListAll :: [String] ->Bool-prop_filterListAll list = processListWithRegexp list [".*"] [] == []--prop_filterListNone :: [String] ->Bool-prop_filterListNone list = processListWithRegexp list [] [] == list--prop_filterListPartial :: [String] -> Bool-prop_filterListPartial list = length list >= length filtered-        where filtered = processListWithRegexp list ["[a-z0-9]*"] []--prop_includeAll :: [String] -> Bool-prop_includeAll list = processListWithRegexp list [] [".*"] == nub list-
− testsuite/tests/Shaker/SourceHelperTest.hs
@@ -1,84 +0,0 @@-module Shaker.SourceHelperTest- where--import Test.HUnit-import Shaker.SourceHelper-import Shaker.Type-import Shaker.CommonTest-import Control.Monad.Reader(runReader, filterM)--import GHC-import GHC.Paths-import DynFlags-import Data.List-import HscTypes-import Digraph-import Data.Maybe--import System.FilePath --testConstructCompileFileList :: Assertion-testConstructCompileFileList =  runTestOnDirectory "testsuite/tests/resources/cabalTest" $ do -  let cpIn = initializeEmptyCompileInput {cfSourceDirs = ["dist/build/autogen","src", "."]}-  fileList <- constructCompileFileList cpIn -  any (\cpFl -> "Main.hs" `isSuffixOf` cfFp cpFl && cfHasMain cpFl) fileList @? "Should have one main file, got " ++ show fileList-  any (\cpFl -> "CabalTest.hs" `isSuffixOf` cfFp cpFl && (not . cfHasMain) cpFl) fileList @? "Should have one main file, got " ++ show fileList-  let list_compile_file_paths = filter (\cpFl -> "Paths_cabalTest.hs" `isSuffixOf` cfFp cpFl) fileList-  length list_compile_file_paths== 1 @? "Should have only one Paths_cabalTest, got " ++ show list_compile_file_paths--testMergeCompileInputs :: Assertion-testMergeCompileInputs = runTestOnDirectory "testsuite/tests/resources/cabalTest" $ do  -  shIn <- testShakerInput-  let cpIn = mergeCompileInputsSources (compileInputs shIn)-  let packageList = packageFlags $ cfDynFlags cpIn defaultDynFlags-  all (`elem` packageList ) [ExposePackage "mtl",ExposePackage "bytestring"] @? "mtl and bytestring should be exposed package"--testIgnoreEmacsFile :: Assertion-testIgnoreEmacsFile = runTestOnDirectory "testsuite/tests/resources/tempEmacsFile" $ do-  cpIn <- testCompileInput-  fileList <- constructCompileFileList cpIn -  not ( any (\cpFl -> ".#TempFile.hs" `isSuffixOf` cfFp cpFl) fileList ) @? "Should ignore all .# files, got " ++ show fileList--testConstructConductorCompileFileList :: Assertion-testConstructConductorCompileFileList =  do-  list <- constructCompileFileList defaultCompileInput -  let (Just cpFile) = find (\a ->  "Conductor.hs" `isSuffixOf` cfFp a ) list-  not (cfHasMain cpFile) && not (cfHasTH cpFile) @? "Should have conductor in list, got " ++ show cpFile--testCompileFileListConstruction :: Assertion-testCompileFileListConstruction =  do-  cpIn <- testCompileInput -  list <- constructCompileFileList cpIn-  let newCpIn = runReader (fillCompileInputWithStandardTarget cpIn) list -  any (\a -> "Conductor.hs" `isSuffixOf` a) (cfTargetFiles newCpIn) @?"Should have conductor in list, got " ++ show (cfTargetFiles newCpIn)--testCheckUnchangedSources :: Assertion-testCheckUnchangedSources =  do-  cpIn <- testCompileInput-  cfFlList <-  constructCompileFileList cpIn-  mss <- runGhc (Just libdir) $ do -            _ <- initializeGhc $ runReader (fillCompileInputWithStandardTarget cpIn) cfFlList-            depanal [] False-  let hsSrcs = map (fromJust . ml_hs_file . ms_location) mss-  exp_all_true <- filterM (checkUnchangedSources  []) mss -  exp_all_false <- filterM (checkUnchangedSources hsSrcs) mss -  exp_one_true <- filterM ( checkUnchangedSources (tail hsSrcs) ) mss -  exp_one_false <- filterM ( checkUnchangedSources [head hsSrcs] ) mss -  length exp_all_true == length hsSrcs @? "checkUnchangedSources with no modified files should be true"-  length exp_all_false == 0 @? "checkUnchangedSources with all modified files should be false" -  length exp_one_true == 1 @? "partial checkUnchangedSources should have only one true, got " ++ show (length exp_one_true)-  length exp_one_false == length hsSrcs - 1 @? "partial checkUnchangedSources should have only one false"--testModuleNeedCompilation :: Assertion-testModuleNeedCompilation =  do - (cpIn, cfFlList) <- compileProject- let targets = map (</> "Shaker" </> "SourceHelperTest.hs") (cfSourceDirs cpIn)- runGhc (Just libdir) $ do -     _ <- initializeGhc $ runReader (fillCompileInputWithStandardTarget cpIn) cfFlList-     mss <- depanal [] False-     let sort_mss = topSortModuleGraph True mss Nothing-     mapRecompNeeded <- mapM (isModuleNeedCompilation []) (flattenSCCs sort_mss)-     liftIO $ all (==False) mapRecompNeeded @? "There should be no modules to recompile"-     exp_one_mapRecompNeeded <- mapM (isModuleNeedCompilation targets) (flattenSCCs sort_mss)-     liftIO $ any (==True) exp_one_mapRecompNeeded @? "There should be at least on module to recompile"-
− testsuite/tests/resources/cabalTest/cabalTest.cabal
@@ -1,37 +0,0 @@-Name:     cabalTest-Version:  0.0.1-cabal-version: >= 1.8-build-type: Simple--Flag testFlag-  Default: True--Flag otherFlag-  Default: False--Executable cabalTest-  Main-Is: Main.hs-  ghc-options: -Wall-  hs-source-dirs: src-  if flag(testFlag) {-    build-depends: mtl >= 0.1-  }-  if flag(otherFlag) {-    build-depends: shaker >= 0.1-  }-  else {-    build-depends: bytestring >= 0.2 && < 0.3-  }-  build-depends: ghc >= 6-                 ,base >= 4--Library -  exposed-modules: CabalTest-  other-modules: Paths_cabalTest-  ghc-options: -Wall-  hs-source-dirs: src -  build-depends: ghc >= 6-                 ,base >=4-                 ,bytestring >= 0.1--
− testsuite/tests/resources/cabalTest/dist/setup-config
@@ -1,2 +0,0 @@-Saved package config for cabalTest-0.0.1 written by Cabal-1.8.0.6 using ghc-6.12-LocalBuildInfo {installDirTemplates = InstallDirs {prefix = "/home/sora/.cabal", bindir = "$prefix/bin", libdir = "$prefix/lib", libsubdir = "$pkgid/$compiler", dynlibdir = "$libdir", libexecdir = "$prefix/libexec", progdir = "$libdir/hugs/programs", includedir = "$libdir/$libsubdir/include", datadir = "$prefix/share", datasubdir = "$pkgid", docdir = "$datadir/doc/$pkgid", mandir = "$datadir/man", htmldir = "$docdir/html", haddockdir = "$htmldir"}, compiler = Compiler {compilerId = CompilerId GHC (Version {versionBranch = [6,12,3], versionTags = []}), compilerExtensions = [(CPP,"-XCPP"),(PostfixOperators,"-XPostfixOperators"),(UnknownExtension "TupleSections","-XTupleSections"),(PatternGuards,"-XPatternGuards"),(UnicodeSyntax,"-XUnicodeSyntax"),(MagicHash,"-XMagicHash"),(PolymorphicComponents,"-XPolymorphicComponents"),(ExistentialQuantification,"-XExistentialQuantification"),(KindSignatures,"-XKindSignatures"),(EmptyDataDecls,"-XEmptyDataDecls"),(ParallelListComp,"-XParallelListComp"),(TransformListComp,"-XTransformListComp"),(ForeignFunctionInterface,"-XForeignFunctionInterface"),(UnliftedFFITypes,"-XUnliftedFFITypes"),(UnknownExtension "GHCForeignImportPrim","-XGHCForeignImportPrim"),(LiberalTypeSynonyms,"-XLiberalTypeSynonyms"),(Rank2Types,"-XRank2Types"),(RankNTypes,"-XRankNTypes"),(ImpredicativeTypes,"-XImpredicativeTypes"),(TypeOperators,"-XTypeOperators"),(RecursiveDo,"-XRecursiveDo"),(UnknownExtension "DoRec","-XDoRec"),(Arrows,"-XArrows"),(UnknownExtension "PArr","-XPArr"),(TemplateHaskell,"-XTemplateHaskell"),(QuasiQuotes,"-XQuasiQuotes"),(Generics,"-XGenerics"),(NoImplicitPrelude,"-XNoImplicitPrelude"),(RecordWildCards,"-XRecordWildCards"),(NamedFieldPuns,"-XNamedFieldPuns"),(RecordPuns,"-XRecordPuns"),(DisambiguateRecordFields,"-XDisambiguateRecordFields"),(OverloadedStrings,"-XOverloadedStrings"),(GADTs,"-XGADTs"),(ViewPatterns,"-XViewPatterns"),(TypeFamilies,"-XTypeFamilies"),(BangPatterns,"-XBangPatterns"),(NoMonomorphismRestriction,"-XNoMonomorphismRestriction"),(UnknownExtension "NPlusKPatterns","-XNPlusKPatterns"),(NoMonoPatBinds,"-XNoMonoPatBinds"),(UnknownExtension "ExplicitForAll","-XExplicitForAll"),(UnknownExtension "MonoLocalBinds","-XMonoLocalBinds"),(RelaxedPolyRec,"-XRelaxedPolyRec"),(ExtendedDefaultRules,"-XExtendedDefaultRules"),(ImplicitParams,"-XImplicitParams"),(ScopedTypeVariables,"-XScopedTypeVariables"),(PatternSignatures,"-XPatternSignatures"),(UnboxedTuples,"-XUnboxedTuples"),(StandaloneDeriving,"-XStandaloneDeriving"),(DeriveDataTypeable,"-XDeriveDataTypeable"),(UnknownExtension "DeriveFunctor","-XDeriveFunctor"),(UnknownExtension "DeriveTraversable","-XDeriveTraversable"),(UnknownExtension "DeriveFoldable","-XDeriveFoldable"),(TypeSynonymInstances,"-XTypeSynonymInstances"),(FlexibleContexts,"-XFlexibleContexts"),(FlexibleInstances,"-XFlexibleInstances"),(ConstrainedClassMethods,"-XConstrainedClassMethods"),(MultiParamTypeClasses,"-XMultiParamTypeClasses"),(FunctionalDependencies,"-XFunctionalDependencies"),(GeneralizedNewtypeDeriving,"-XGeneralizedNewtypeDeriving"),(OverlappingInstances,"-XOverlappingInstances"),(UndecidableInstances,"-XUndecidableInstances"),(IncoherentInstances,"-XIncoherentInstances"),(PackageImports,"-XPackageImports"),(NewQualifiedOperators,"-XNewQualifiedOperators")]}, buildDir = "dist/build", scratchDir = "dist/scratch", libraryConfig = Just (ComponentLocalBuildInfo {componentPackageDeps = [(InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [4,2,0,2], versionTags = []}}),(InstalledPackageId "bytestring-0.9.1.7-e4f5efe6019d4771130f5cd8d3216b38",PackageIdentifier {pkgName = PackageName "bytestring", pkgVersion = Version {versionBranch = [0,9,1,7], versionTags = []}}),(InstalledPackageId "ghc-6.12.3-32f69115c5a977d5f19f8d159b76363d",PackageIdentifier {pkgName = PackageName "ghc", pkgVersion = Version {versionBranch = [6,12,3], versionTags = []}})]}), executableConfigs = [("cabalTest",ComponentLocalBuildInfo {componentPackageDeps = [(InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [4,2,0,2], versionTags = []}}),(InstalledPackageId "ghc-6.12.3-32f69115c5a977d5f19f8d159b76363d",PackageIdentifier {pkgName = PackageName "ghc", pkgVersion = Version {versionBranch = [6,12,3], versionTags = []}}),(InstalledPackageId "mtl-1.1.0.2-174e84f60f8c2192a4ee7d2ff2833953",PackageIdentifier {pkgName = PackageName "mtl", pkgVersion = Version {versionBranch = [1,1,0,2], versionTags = []}}),(InstalledPackageId "shaker-0.4.3-0f486f0310be547eaa282911cefce99a",PackageIdentifier {pkgName = PackageName "shaker", pkgVersion = Version {versionBranch = [0,4,3], versionTags = []}})]})], installedPkgs = PackageIndex (fromList [(InstalledPackageId "Cabal-1.8.0.6-fbc519b7543237abfa4d5d0af63aa9bb",InstalledPackageInfo {installedPackageId = InstalledPackageId "Cabal-1.8.0.6-fbc519b7543237abfa4d5d0af63aa9bb", sourcePackageId = PackageIdentifier {pkgName = PackageName "Cabal", pkgVersion = Version {versionBranch = [1,8,0,6], versionTags = []}}, license = BSD3, copyright = "2003-2006, Isaac Jones\n2005-2009, Duncan Coutts", maintainer = "cabal-devel@haskell.org", author = "Isaac Jones <ijones@syntaxpolice.org>\nDuncan Coutts <duncan@haskell.org>", stability = "", homepage = "http://www.haskell.org/cabal/", pkgUrl = "", description = "The Haskell Common Architecture for Building Applications and\nLibraries: a framework defining a common interface for authors to more\neasily build their Haskell applications in a portable way.\n\nThe Haskell Cabal is part of a larger infrastructure for distributing,\norganizing, and cataloging Haskell libraries and tools.", category = "Distribution", exposed = True, exposedModules = [ModuleName ["Distribution","Compiler"],ModuleName ["Distribution","InstalledPackageInfo"],ModuleName ["Distribution","License"],ModuleName ["Distribution","Make"],ModuleName ["Distribution","ModuleName"],ModuleName ["Distribution","Package"],ModuleName ["Distribution","PackageDescription"],ModuleName ["Distribution","PackageDescription","Configuration"],ModuleName ["Distribution","PackageDescription","Parse"],ModuleName ["Distribution","PackageDescription","Check"],ModuleName ["Distribution","ParseUtils"],ModuleName ["Distribution","ReadE"],ModuleName ["Distribution","Simple"],ModuleName ["Distribution","Simple","Build"],ModuleName ["Distribution","Simple","Build","Macros"],ModuleName ["Distribution","Simple","Build","PathsModule"],ModuleName ["Distribution","Simple","BuildPaths"],ModuleName ["Distribution","Simple","Command"],ModuleName ["Distribution","Simple","Compiler"],ModuleName ["Distribution","Simple","Configure"],ModuleName ["Distribution","Simple","GHC"],ModuleName ["Distribution","Simple","LHC"],ModuleName ["Distribution","Simple","Haddock"],ModuleName ["Distribution","Simple","Hugs"],ModuleName ["Distribution","Simple","Install"],ModuleName ["Distribution","Simple","InstallDirs"],ModuleName ["Distribution","Simple","JHC"],ModuleName ["Distribution","Simple","LocalBuildInfo"],ModuleName ["Distribution","Simple","NHC"],ModuleName ["Distribution","Simple","PackageIndex"],ModuleName ["Distribution","Simple","PreProcess"],ModuleName ["Distribution","Simple","PreProcess","Unlit"],ModuleName ["Distribution","Simple","Program"],ModuleName ["Distribution","Simple","Program","Ar"],ModuleName ["Distribution","Simple","Program","Builtin"],ModuleName ["Distribution","Simple","Program","Db"],ModuleName ["Distribution","Simple","Program","HcPkg"],ModuleName ["Distribution","Simple","Program","Ld"],ModuleName ["Distribution","Simple","Program","Run"],ModuleName ["Distribution","Simple","Program","Script"],ModuleName ["Distribution","Simple","Program","Types"],ModuleName ["Distribution","Simple","Register"],ModuleName ["Distribution","Simple","Setup"],ModuleName ["Distribution","Simple","SrcDist"],ModuleName ["Distribution","Simple","UserHooks"],ModuleName ["Distribution","Simple","Utils"],ModuleName ["Distribution","System"],ModuleName ["Distribution","Text"],ModuleName ["Distribution","Verbosity"],ModuleName ["Distribution","Version"],ModuleName ["Distribution","Compat","ReadP"],ModuleName ["Language","Haskell","Extension"]], hiddenModules = [ModuleName ["Distribution","GetOpt"],ModuleName ["Distribution","Compat","Exception"],ModuleName ["Distribution","Compat","CopyFile"],ModuleName ["Distribution","Compat","TempFile"],ModuleName ["Distribution","Simple","GHC","IPI641"],ModuleName ["Distribution","Simple","GHC","IPI642"]], importDirs = ["/usr/lib/ghc-6.12.3/Cabal-1.8.0.6"], libraryDirs = ["/usr/lib/ghc-6.12.3/Cabal-1.8.0.6"], hsLibraries = ["HSCabal-1.8.0.6"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "array-0.3.0.1-438000c197b51c147f229b54edbf632e",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379",InstalledPackageId "directory-1.0.1.1-f959a158a71fc63ca3822eaf49ec66dc",InstalledPackageId "filepath-1.1.0.4-c303c646a99c2a24d2402008d247eb5f",InstalledPackageId "old-time-1.0.0.5-45398fe9d274a4e0177157e25427aeec",InstalledPackageId "pretty-1.0.1.1-cde327683d86c8644fc9073c368cc5ea",InstalledPackageId "process-1.0.1.3-73f46aa4e6bf1a4f2f418a3c761e4e80",InstalledPackageId "unix-2.4.0.2-8b7fb1ebcdcb8db413d44db018f084d7"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/Cabal-1.8.0.6/Cabal.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/Cabal-1.8.0.6"]}),(InstalledPackageId "HUnit-1.2.2.3-22a4b7b2e37ba33060b9d5875ee5e58d",InstalledPackageInfo {installedPackageId = InstalledPackageId "HUnit-1.2.2.3-22a4b7b2e37ba33060b9d5875ee5e58d", sourcePackageId = PackageIdentifier {pkgName = PackageName "HUnit", pkgVersion = Version {versionBranch = [1,2,2,3], versionTags = []}}, license = BSD3, copyright = "", maintainer = "hunit@richardg.name", author = "Dean Herington", stability = "stable", homepage = "http://hunit.sourceforge.net/", pkgUrl = "", description = "HUnit is a unit testing framework for Haskell, inspired by the\nJUnit tool for Java, see: <http://www.junit.org>.", category = "Testing", exposed = True, exposedModules = [ModuleName ["Test","HUnit","Base"],ModuleName ["Test","HUnit","Lang"],ModuleName ["Test","HUnit","Terminal"],ModuleName ["Test","HUnit","Text"],ModuleName ["Test","HUnit"]], hiddenModules = [], importDirs = ["/usr/local/lib/HUnit-1.2.2.3/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/HUnit-1.2.2.3/ghc-6.12.3"], hsLibraries = ["HSHUnit-1.2.2.3"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/HUnit-1.2.2.3/html/HUnit.haddock"], haddockHTMLs = ["/usr/local/share/doc/HUnit-1.2.2.3/html"]}),(InstalledPackageId "QuickCheck-2.2-22063d10d03e3b4def140e347863dd3a",InstalledPackageInfo {installedPackageId = InstalledPackageId "QuickCheck-2.2-22063d10d03e3b4def140e347863dd3a", sourcePackageId = PackageIdentifier {pkgName = PackageName "QuickCheck", pkgVersion = Version {versionBranch = [2,2], versionTags = []}}, license = BSD3, copyright = "Koen Claessen <koen@chalmers.se>", maintainer = "QuickCheck developers <quickcheck@projects.haskell.org>", author = "Koen Claessen <koen@chalmers.se>", stability = "", homepage = "http://code.haskell.org/QuickCheck", pkgUrl = "", description = "QuickCheck is a library for random testing of program properties.\n\nThe programmer provides a specification of the program, in\nthe form of properties which functions should satisfy, and\nQuickCheck then tests that the properties hold in a large number\nof randomly generated cases.\n\nSpecifications are expressed in\nHaskell, using combinators defined in the QuickCheck library.\nQuickCheck provides combinators to define properties, observe\nthe distribution of test data, and define test\ndata generators.", category = "Testing", exposed = True, exposedModules = [ModuleName ["Test","QuickCheck"],ModuleName ["Test","QuickCheck","Arbitrary"],ModuleName ["Test","QuickCheck","Function"],ModuleName ["Test","QuickCheck","Gen"],ModuleName ["Test","QuickCheck","Monadic"],ModuleName ["Test","QuickCheck","Modifiers"],ModuleName ["Test","QuickCheck","Property"],ModuleName ["Test","QuickCheck","Test"],ModuleName ["Test","QuickCheck","Text"],ModuleName ["Test","QuickCheck","Poly"],ModuleName ["Test","QuickCheck","State"]], hiddenModules = [ModuleName ["Test","QuickCheck","Exception"]], importDirs = ["/usr/local/lib/QuickCheck-2.2/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/QuickCheck-2.2/ghc-6.12.3"], hsLibraries = ["HSQuickCheck-2.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "extensible-exceptions-0.1.1.1-28a83091e117b2e719d4a1c4a320a1c8",InstalledPackageId "ghc-6.12.3-32f69115c5a977d5f19f8d159b76363d",InstalledPackageId "mtl-1.1.0.2-174e84f60f8c2192a4ee7d2ff2833953",InstalledPackageId "random-1.0.0.2-f4208c3677aeaaaf41e4d36309c0b4ff"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/QuickCheck-2.2/html/QuickCheck.haddock"], haddockHTMLs = ["/usr/local/share/doc/QuickCheck-2.2/html"]}),(InstalledPackageId "ansi-terminal-0.5.3-fef2144db00d62ea2d9da21ec5ca7046",InstalledPackageInfo {installedPackageId = InstalledPackageId "ansi-terminal-0.5.3-fef2144db00d62ea2d9da21ec5ca7046", sourcePackageId = PackageIdentifier {pkgName = PackageName "ansi-terminal", pkgVersion = Version {versionBranch = [0,5,3], versionTags = []}}, license = BSD3, copyright = "", maintainer = "batterseapower@hotmail.com", author = "Max Bolingbroke", stability = "", homepage = "http://batterseapower.github.com/ansi-terminal", pkgUrl = "", description = "ANSI terminal support for Haskell: allows cursor movement, screen clearing, color output showing or hiding the cursor, and\nchanging the title. Compatible with Windows and those Unixes with ANSI terminals, but only GHC is supported as a compiler.", category = "User Interfaces", exposed = True, exposedModules = [ModuleName ["System","Console","ANSI"]], hiddenModules = [ModuleName ["System","Console","ANSI","Unix"],ModuleName ["System","Console","ANSI","Common"]], importDirs = ["/usr/local/lib/ansi-terminal-0.5.3/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/ansi-terminal-0.5.3/ghc-6.12.3"], hsLibraries = ["HSansi-terminal-0.5.3"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "unix-2.4.0.2-8b7fb1ebcdcb8db413d44db018f084d7"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/ansi-terminal-0.5.3/html/ansi-terminal.haddock"], haddockHTMLs = ["/usr/local/share/doc/ansi-terminal-0.5.3/html"]}),(InstalledPackageId "ansi-wl-pprint-0.5.1-22f27bc85096873ab1a93267304717c0",InstalledPackageInfo {installedPackageId = InstalledPackageId "ansi-wl-pprint-0.5.1-22f27bc85096873ab1a93267304717c0", sourcePackageId = PackageIdentifier {pkgName = PackageName "ansi-wl-pprint", pkgVersion = Version {versionBranch = [0,5,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "batterseapower@hotmail.com", author = "Daan Leijen, Max Bolingbroke", stability = "", homepage = "http://github.com/batterseapower/ansi-wl-pprint", pkgUrl = "", description = "This is a pretty printing library based on Wadler's paper \"A Prettier Printer\". It has been enhanced with support for ANSI terminal colored output using the ansi-terminal package.", category = "User Interfaces, Text", exposed = True, exposedModules = [ModuleName ["Text","PrettyPrint","ANSI","Leijen"]], hiddenModules = [], importDirs = ["/usr/local/lib/ansi-wl-pprint-0.5.1/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/ansi-wl-pprint-0.5.1/ghc-6.12.3"], hsLibraries = ["HSansi-wl-pprint-0.5.1"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "ansi-terminal-0.5.3-fef2144db00d62ea2d9da21ec5ca7046",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/ansi-wl-pprint-0.5.1/html/ansi-wl-pprint.haddock"], haddockHTMLs = ["/usr/local/share/doc/ansi-wl-pprint-0.5.1/html"]}),(InstalledPackageId "array-0.3.0.1-438000c197b51c147f229b54edbf632e",InstalledPackageInfo {installedPackageId = InstalledPackageId "array-0.3.0.1-438000c197b51c147f229b54edbf632e", sourcePackageId = PackageIdentifier {pkgName = PackageName "array", pkgVersion = Version {versionBranch = [0,3,0,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package defines the classes @IArray@ of immutable arrays and\n@MArray@ of arrays mutable within appropriate monads, as well as\nsome instances of these classes.", category = "Data Structures", exposed = True, exposedModules = [ModuleName ["Data","Array","Base"],ModuleName ["Data","Array","IArray"],ModuleName ["Data","Array","IO"],ModuleName ["Data","Array","IO","Internals"],ModuleName ["Data","Array","MArray"],ModuleName ["Data","Array","ST"],ModuleName ["Data","Array","Storable"],ModuleName ["Data","Array","Unboxed"],ModuleName ["Data","Array"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/array-0.3.0.1"], libraryDirs = ["/usr/lib/ghc-6.12.3/array-0.3.0.1"], hsLibraries = ["HSarray-0.3.0.1"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/array-0.3.0.1/array.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/array-0.3.0.1"]}),(InstalledPackageId "base-3.0.3.2-260693a92016991a03206b5a55f6a411",InstalledPackageInfo {installedPackageId = InstalledPackageId "base-3.0.3.2-260693a92016991a03206b5a55f6a411", sourcePackageId = PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [3,0,3,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This is a backwards-compatible version of the base package.\nIt depends on a later version of base, and was probably supplied\nwith your compiler when it was installed.", category = "", exposed = True, exposedModules = [ModuleName ["Data","Generics"],ModuleName ["Data","Generics","Aliases"],ModuleName ["Data","Generics","Basics"],ModuleName ["Data","Generics","Instances"],ModuleName ["Data","Generics","Schemes"],ModuleName ["Data","Generics","Text"],ModuleName ["Data","Generics","Twins"],ModuleName ["Foreign","Concurrent"],ModuleName ["GHC","Arr"],ModuleName ["GHC","Base"],ModuleName ["GHC","Conc"],ModuleName ["GHC","ConsoleHandler"],ModuleName ["GHC","Desugar"],ModuleName ["GHC","Dotnet"],ModuleName ["GHC","Enum"],ModuleName ["GHC","Environment"],ModuleName ["GHC","Err"],ModuleName ["GHC","Exception"],ModuleName ["GHC","Exts"],ModuleName ["GHC","Float"],ModuleName ["GHC","ForeignPtr"],ModuleName ["GHC","Handle"],ModuleName ["GHC","IO"],ModuleName ["GHC","IOBase"],ModuleName ["GHC","Int"],ModuleName ["GHC","List"],ModuleName ["GHC","Num"],ModuleName ["GHC","PArr"],ModuleName ["GHC","Pack"],ModuleName ["GHC","Ptr"],ModuleName ["GHC","Read"],ModuleName ["GHC","Real"],ModuleName ["GHC","ST"],ModuleName ["GHC","STRef"],ModuleName ["GHC","Show"],ModuleName ["GHC","Stable"],ModuleName ["GHC","Storable"],ModuleName ["GHC","TopHandler"],ModuleName ["GHC","Unicode"],ModuleName ["GHC","Weak"],ModuleName ["GHC","Word"],ModuleName ["System","Timeout"],ModuleName ["Control","Applicative"],ModuleName ["Control","Arrow"],ModuleName ["Control","Category"],ModuleName ["Control","Concurrent"],ModuleName ["Control","Concurrent","Chan"],ModuleName ["Control","Concurrent","MVar"],ModuleName ["Control","Concurrent","QSem"],ModuleName ["Control","Concurrent","QSemN"],ModuleName ["Control","Concurrent","SampleVar"],ModuleName ["Control","Exception"],ModuleName ["Control","Monad"],ModuleName ["Control","Monad","Fix"],ModuleName ["Control","Monad","Instances"],ModuleName ["Control","Monad","ST"],ModuleName ["Control","Monad","ST","Lazy"],ModuleName ["Control","Monad","ST","Strict"],ModuleName ["Data","Bits"],ModuleName ["Data","Bool"],ModuleName ["Data","Char"],ModuleName ["Data","Complex"],ModuleName ["Data","Dynamic"],ModuleName ["Data","Either"],ModuleName ["Data","Eq"],ModuleName ["Data","Fixed"],ModuleName ["Data","Foldable"],ModuleName ["Data","Function"],ModuleName ["Data","HashTable"],ModuleName ["Data","IORef"],ModuleName ["Data","Int"],ModuleName ["Data","Ix"],ModuleName ["Data","List"],ModuleName ["Data","Maybe"],ModuleName ["Data","Monoid"],ModuleName ["Data","Ord"],ModuleName ["Data","Ratio"],ModuleName ["Data","STRef"],ModuleName ["Data","STRef","Lazy"],ModuleName ["Data","STRef","Strict"],ModuleName ["Data","String"],ModuleName ["Data","Traversable"],ModuleName ["Data","Tuple"],ModuleName ["Data","Typeable"],ModuleName ["Data","Unique"],ModuleName ["Data","Version"],ModuleName ["Data","Word"],ModuleName ["Debug","Trace"],ModuleName ["Foreign"],ModuleName ["Foreign","C"],ModuleName ["Foreign","C","Error"],ModuleName ["Foreign","C","String"],ModuleName ["Foreign","C","Types"],ModuleName ["Foreign","ForeignPtr"],ModuleName ["Foreign","Marshal"],ModuleName ["Foreign","Marshal","Alloc"],ModuleName ["Foreign","Marshal","Array"],ModuleName ["Foreign","Marshal","Error"],ModuleName ["Foreign","Marshal","Pool"],ModuleName ["Foreign","Marshal","Utils"],ModuleName ["Foreign","Ptr"],ModuleName ["Foreign","StablePtr"],ModuleName ["Foreign","Storable"],ModuleName ["Numeric"],ModuleName ["Prelude"],ModuleName ["System","Console","GetOpt"],ModuleName ["System","CPUTime"],ModuleName ["System","Environment"],ModuleName ["System","Exit"],ModuleName ["System","IO"],ModuleName ["System","IO","Error"],ModuleName ["System","IO","Unsafe"],ModuleName ["System","Info"],ModuleName ["System","Mem"],ModuleName ["System","Mem","StableName"],ModuleName ["System","Mem","Weak"],ModuleName ["System","Posix","Internals"],ModuleName ["System","Posix","Types"],ModuleName ["Text","ParserCombinators","ReadP"],ModuleName ["Text","ParserCombinators","ReadPrec"],ModuleName ["Text","Printf"],ModuleName ["Text","Read"],ModuleName ["Text","Read","Lex"],ModuleName ["Text","Show"],ModuleName ["Text","Show","Functions"],ModuleName ["Unsafe","Coerce"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/base-3.0.3.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/base-3.0.3.2"], hsLibraries = ["HSbase-3.0.3.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "syb-0.1.0.2-0917873f366b0be90a48082271223b4e"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/base-3.0.3.2/base.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/base-3.0.3.2"]}),(InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageInfo {installedPackageId = InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3", sourcePackageId = PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [4,2,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains the Prelude and its support libraries,\nand a large collection of useful libraries ranging from data\nstructures to parsing combinators and debugging utilities.", category = "", exposed = True, exposedModules = [ModuleName ["Foreign","Concurrent"],ModuleName ["GHC","Arr"],ModuleName ["GHC","Base"],ModuleName ["GHC","Classes"],ModuleName ["GHC","Conc"],ModuleName ["GHC","ConsoleHandler"],ModuleName ["GHC","Constants"],ModuleName ["GHC","Desugar"],ModuleName ["GHC","Enum"],ModuleName ["GHC","Environment"],ModuleName ["GHC","Err"],ModuleName ["GHC","Exception"],ModuleName ["GHC","Exts"],ModuleName ["GHC","Float"],ModuleName ["GHC","ForeignPtr"],ModuleName ["GHC","MVar"],ModuleName ["GHC","IO"],ModuleName ["GHC","IO","IOMode"],ModuleName ["GHC","IO","Buffer"],ModuleName ["GHC","IO","Device"],ModuleName ["GHC","IO","BufferedIO"],ModuleName ["GHC","IO","FD"],ModuleName ["GHC","IO","Exception"],ModuleName ["GHC","IO","Encoding"],ModuleName ["GHC","IO","Encoding","Latin1"],ModuleName ["GHC","IO","Encoding","UTF8"],ModuleName ["GHC","IO","Encoding","UTF16"],ModuleName ["GHC","IO","Encoding","UTF32"],ModuleName ["GHC","IO","Encoding","Types"],ModuleName ["GHC","IO","Encoding","Iconv"],ModuleName ["GHC","IO","Encoding","CodePage"],ModuleName ["GHC","IO","Handle"],ModuleName ["GHC","IO","Handle","Types"],ModuleName ["GHC","IO","Handle","Internals"],ModuleName ["GHC","IO","Handle","FD"],ModuleName ["GHC","IO","Handle","Text"],ModuleName ["GHC","IOBase"],ModuleName ["GHC","Handle"],ModuleName ["GHC","IORef"],ModuleName ["GHC","IOArray"],ModuleName ["GHC","Int"],ModuleName ["GHC","List"],ModuleName ["GHC","Num"],ModuleName ["GHC","PArr"],ModuleName ["GHC","Pack"],ModuleName ["GHC","Ptr"],ModuleName ["GHC","Read"],ModuleName ["GHC","Real"],ModuleName ["GHC","ST"],ModuleName ["GHC","STRef"],ModuleName ["GHC","Show"],ModuleName ["GHC","Stable"],ModuleName ["GHC","Storable"],ModuleName ["GHC","TopHandler"],ModuleName ["GHC","Unicode"],ModuleName ["GHC","Weak"],ModuleName ["GHC","Word"],ModuleName ["System","Timeout"],ModuleName ["Control","Applicative"],ModuleName ["Control","Arrow"],ModuleName ["Control","Category"],ModuleName ["Control","Concurrent"],ModuleName ["Control","Concurrent","Chan"],ModuleName ["Control","Concurrent","MVar"],ModuleName ["Control","Concurrent","QSem"],ModuleName ["Control","Concurrent","QSemN"],ModuleName ["Control","Concurrent","SampleVar"],ModuleName ["Control","Exception"],ModuleName ["Control","Exception","Base"],ModuleName ["Control","OldException"],ModuleName ["Control","Monad"],ModuleName ["Control","Monad","Fix"],ModuleName ["Control","Monad","Instances"],ModuleName ["Control","Monad","ST"],ModuleName ["Control","Monad","ST","Lazy"],ModuleName ["Control","Monad","ST","Strict"],ModuleName ["Data","Bits"],ModuleName ["Data","Bool"],ModuleName ["Data","Char"],ModuleName ["Data","Complex"],ModuleName ["Data","Dynamic"],ModuleName ["Data","Either"],ModuleName ["Data","Eq"],ModuleName ["Data","Data"],ModuleName ["Data","Fixed"],ModuleName ["Data","Foldable"],ModuleName ["Data","Function"],ModuleName ["Data","Functor"],ModuleName ["Data","HashTable"],ModuleName ["Data","IORef"],ModuleName ["Data","Int"],ModuleName ["Data","Ix"],ModuleName ["Data","List"],ModuleName ["Data","Maybe"],ModuleName ["Data","Monoid"],ModuleName ["Data","Ord"],ModuleName ["Data","Ratio"],ModuleName ["Data","STRef"],ModuleName ["Data","STRef","Lazy"],ModuleName ["Data","STRef","Strict"],ModuleName ["Data","String"],ModuleName ["Data","Traversable"],ModuleName ["Data","Tuple"],ModuleName ["Data","Typeable"],ModuleName ["Data","Unique"],ModuleName ["Data","Version"],ModuleName ["Data","Word"],ModuleName ["Debug","Trace"],ModuleName ["Foreign"],ModuleName ["Foreign","C"],ModuleName ["Foreign","C","Error"],ModuleName ["Foreign","C","String"],ModuleName ["Foreign","C","Types"],ModuleName ["Foreign","ForeignPtr"],ModuleName ["Foreign","Marshal"],ModuleName ["Foreign","Marshal","Alloc"],ModuleName ["Foreign","Marshal","Array"],ModuleName ["Foreign","Marshal","Error"],ModuleName ["Foreign","Marshal","Pool"],ModuleName ["Foreign","Marshal","Utils"],ModuleName ["Foreign","Ptr"],ModuleName ["Foreign","StablePtr"],ModuleName ["Foreign","Storable"],ModuleName ["Numeric"],ModuleName ["Prelude"],ModuleName ["System","Console","GetOpt"],ModuleName ["System","CPUTime"],ModuleName ["System","Environment"],ModuleName ["System","Exit"],ModuleName ["System","IO"],ModuleName ["System","IO","Error"],ModuleName ["System","IO","Unsafe"],ModuleName ["System","Info"],ModuleName ["System","Mem"],ModuleName ["System","Mem","StableName"],ModuleName ["System","Mem","Weak"],ModuleName ["System","Posix","Internals"],ModuleName ["System","Posix","Types"],ModuleName ["Text","ParserCombinators","ReadP"],ModuleName ["Text","ParserCombinators","ReadPrec"],ModuleName ["Text","Printf"],ModuleName ["Text","Read"],ModuleName ["Text","Read","Lex"],ModuleName ["Text","Show"],ModuleName ["Text","Show","Functions"],ModuleName ["Unsafe","Coerce"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/base-4.2.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/base-4.2.0.2"], hsLibraries = ["HSbase-4.2.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/base-4.2.0.2/include"], includes = ["HsBase.h"], depends = [InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11",InstalledPackageId "integer-gmp-0.2.0.1-72436e28c79d056c87cc0d2d2f9f3773",InstalledPackageId "builtin_rts"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/base-4.2.0.2/base.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/base-4.2.0.2"]}),(InstalledPackageId "bin-package-db-0.0.0.0-0dffb74a73bb78b5dc02ca941bbcbea0",InstalledPackageInfo {installedPackageId = InstalledPackageId "bin-package-db-0.0.0.0-0dffb74a73bb78b5dc02ca941bbcbea0", sourcePackageId = PackageIdentifier {pkgName = PackageName "bin-package-db", pkgVersion = Version {versionBranch = [0,0,0,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "cvs-ghc@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "", category = "", exposed = True, exposedModules = [ModuleName ["Distribution","InstalledPackageInfo","Binary"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/bin-package-db-0.0.0.0"], libraryDirs = ["/usr/lib/ghc-6.12.3/bin-package-db-0.0.0.0"], hsLibraries = ["HSbin-package-db-0.0.0.0"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "Cabal-1.8.0.6-fbc519b7543237abfa4d5d0af63aa9bb",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "ghc-binary-0.5.0.2-65e476e80633fdb913f3a18a211c7d06"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/bin-package-db-0.0.0.0/bin-package-db.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/bin-package-db-0.0.0.0"]}),(InstalledPackageId "builtin_ffi",InstalledPackageInfo {installedPackageId = InstalledPackageId "builtin_ffi", sourcePackageId = PackageIdentifier {pkgName = PackageName "ffi", pkgVersion = Version {versionBranch = [1,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "glasgow-haskell-users@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "", category = "", exposed = True, exposedModules = [], hiddenModules = [], importDirs = [], libraryDirs = ["/usr/lib/ghc-6.12.3"], hsLibraries = ["HSffi"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/include"], includes = [], depends = [], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = [], haddockHTMLs = []}),(InstalledPackageId "builtin_rts",InstalledPackageInfo {installedPackageId = InstalledPackageId "builtin_rts", sourcePackageId = PackageIdentifier {pkgName = PackageName "rts", pkgVersion = Version {versionBranch = [1,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "glasgow-haskell-users@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "", category = "", exposed = True, exposedModules = [], hiddenModules = [], importDirs = [], libraryDirs = ["/usr/lib/ghc-6.12.3"], hsLibraries = ["HSrts"], extraLibraries = ["m","rt","dl"], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/include"], includes = ["Stg.h"], depends = [InstalledPackageId "builtin_ffi"], hugsOptions = [], ccOptions = [], ldOptions = ["-u","ghczmprim_GHCziTypes_Izh_static_info","-u","ghczmprim_GHCziTypes_Czh_static_info","-u","ghczmprim_GHCziTypes_Fzh_static_info","-u","ghczmprim_GHCziTypes_Dzh_static_info","-u","base_GHCziPtr_Ptr_static_info","-u","base_GHCziWord_Wzh_static_info","-u","base_GHCziInt_I8zh_static_info","-u","base_GHCziInt_I16zh_static_info","-u","base_GHCziInt_I32zh_static_info","-u","base_GHCziInt_I64zh_static_info","-u","base_GHCziWord_W8zh_static_info","-u","base_GHCziWord_W16zh_static_info","-u","base_GHCziWord_W32zh_static_info","-u","base_GHCziWord_W64zh_static_info","-u","base_GHCziStable_StablePtr_static_info","-u","ghczmprim_GHCziTypes_Izh_con_info","-u","ghczmprim_GHCziTypes_Czh_con_info","-u","ghczmprim_GHCziTypes_Fzh_con_info","-u","ghczmprim_GHCziTypes_Dzh_con_info","-u","base_GHCziPtr_Ptr_con_info","-u","base_GHCziPtr_FunPtr_con_info","-u","base_GHCziStable_StablePtr_con_info","-u","ghczmprim_GHCziBool_False_closure","-u","ghczmprim_GHCziBool_True_closure","-u","base_GHCziPack_unpackCString_closure","-u","base_GHCziIOziException_stackOverflow_closure","-u","base_GHCziIOziException_heapOverflow_closure","-u","base_ControlziExceptionziBase_nonTermination_closure","-u","base_GHCziIOziException_blockedIndefinitelyOnMVar_closure","-u","base_GHCziIOziException_blockedIndefinitelyOnSTM_closure","-u","base_ControlziExceptionziBase_nestedAtomically_closure","-u","base_GHCziWeak_runFinalizzerBatch_closure","-u","base_GHCziTopHandler_runIO_closure","-u","base_GHCziTopHandler_runNonIO_closure","-u","base_GHCziConc_ensureIOManagerIsRunning_closure","-u","base_GHCziConc_runSparks_closure","-u","base_GHCziConc_runHandlers_closure"], frameworkDirs = [], frameworks = [], haddockInterfaces = [], haddockHTMLs = []}),(InstalledPackageId "bytestring-0.9.1.7-e4f5efe6019d4771130f5cd8d3216b38",InstalledPackageInfo {installedPackageId = InstalledPackageId "bytestring-0.9.1.7-e4f5efe6019d4771130f5cd8d3216b38", sourcePackageId = PackageIdentifier {pkgName = PackageName "bytestring", pkgVersion = Version {versionBranch = [0,9,1,7], versionTags = []}}, license = BSD3, copyright = "Copyright (c) Don Stewart   2005-2009,\n(c) Duncan Coutts 2006-2009,\n(c) David Roundy  2003-2005.", maintainer = "dons@galois.com, duncan@haskell.org", author = "Don Stewart, Duncan Coutts", stability = "", homepage = "http://www.cse.unsw.edu.au/~dons/fps.html", pkgUrl = "", description = "A time and space-efficient implementation of byte vectors using\npacked Word8 arrays, suitable for high performance use, both in terms\nof large data quantities, or high speed requirements. Byte vectors\nare encoded as strict 'Word8' arrays of bytes, and lazy lists of\nstrict chunks, held in a 'ForeignPtr', and can be passed between C\nand Haskell with little effort.\n\nTest coverage data for this library is available at:\n<http://code.haskell.org/~dons/tests/bytestring/hpc_index.html>", category = "Data", exposed = True, exposedModules = [ModuleName ["Data","ByteString"],ModuleName ["Data","ByteString","Char8"],ModuleName ["Data","ByteString","Unsafe"],ModuleName ["Data","ByteString","Internal"],ModuleName ["Data","ByteString","Lazy"],ModuleName ["Data","ByteString","Lazy","Char8"],ModuleName ["Data","ByteString","Lazy","Internal"],ModuleName ["Data","ByteString","Fusion"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/bytestring-0.9.1.7"], libraryDirs = ["/usr/lib/ghc-6.12.3/bytestring-0.9.1.7"], hsLibraries = ["HSbytestring-0.9.1.7"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/bytestring-0.9.1.7/include"], includes = ["fpstring.h"], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/bytestring-0.9.1.7/bytestring.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/bytestring-0.9.1.7"]}),(InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379",InstalledPackageInfo {installedPackageId = InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379", sourcePackageId = PackageIdentifier {pkgName = PackageName "containers", pkgVersion = Version {versionBranch = [0,3,0,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains efficient general-purpose implementations\nof various basic immutable container types.  The declared cost of\neach operation is either worst-case or amortized, but remains\nvalid even if structures are shared.", category = "Data Structures", exposed = True, exposedModules = [ModuleName ["Data","Graph"],ModuleName ["Data","IntMap"],ModuleName ["Data","IntSet"],ModuleName ["Data","Map"],ModuleName ["Data","Sequence"],ModuleName ["Data","Set"],ModuleName ["Data","Tree"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/containers-0.3.0.0"], libraryDirs = ["/usr/lib/ghc-6.12.3/containers-0.3.0.0"], hsLibraries = ["HScontainers-0.3.0.0"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "array-0.3.0.1-438000c197b51c147f229b54edbf632e",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/containers.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/containers-0.3.0.0"]}),(InstalledPackageId "directory-1.0.1.1-f959a158a71fc63ca3822eaf49ec66dc",InstalledPackageInfo {installedPackageId = InstalledPackageId "directory-1.0.1.1-f959a158a71fc63ca3822eaf49ec66dc", sourcePackageId = PackageIdentifier {pkgName = PackageName "directory", pkgVersion = Version {versionBranch = [1,0,1,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package provides a library for handling directories.", category = "System", exposed = True, exposedModules = [ModuleName ["System","Directory"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/directory-1.0.1.1"], libraryDirs = ["/usr/lib/ghc-6.12.3/directory-1.0.1.1"], hsLibraries = ["HSdirectory-1.0.1.1"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/directory-1.0.1.1/include"], includes = ["HsDirectory.h"], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "filepath-1.1.0.4-c303c646a99c2a24d2402008d247eb5f",InstalledPackageId "old-time-1.0.0.5-45398fe9d274a4e0177157e25427aeec",InstalledPackageId "unix-2.4.0.2-8b7fb1ebcdcb8db413d44db018f084d7"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/directory-1.0.1.1/directory.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/directory-1.0.1.1"]}),(InstalledPackageId "extensible-exceptions-0.1.1.1-28a83091e117b2e719d4a1c4a320a1c8",InstalledPackageInfo {installedPackageId = InstalledPackageId "extensible-exceptions-0.1.1.1-28a83091e117b2e719d4a1c4a320a1c8", sourcePackageId = PackageIdentifier {pkgName = PackageName "extensible-exceptions", pkgVersion = Version {versionBranch = [0,1,1,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package provides extensible exceptions for both new and\nold versions of GHC (i.e., < 6.10).", category = "", exposed = True, exposedModules = [ModuleName ["Control","Exception","Extensible"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/extensible-exceptions-0.1.1.1"], libraryDirs = ["/usr/lib/ghc-6.12.3/extensible-exceptions-0.1.1.1"], hsLibraries = ["HSextensible-exceptions-0.1.1.1"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/extensible-exceptions-0.1.1.1/extensible-exceptions.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/extensible-exceptions-0.1.1.1"]}),(InstalledPackageId "filepath-1.1.0.4-c303c646a99c2a24d2402008d247eb5f",InstalledPackageInfo {installedPackageId = InstalledPackageId "filepath-1.1.0.4-c303c646a99c2a24d2402008d247eb5f", sourcePackageId = PackageIdentifier {pkgName = PackageName "filepath", pkgVersion = Version {versionBranch = [1,1,0,4], versionTags = []}}, license = BSD3, copyright = "", maintainer = "", author = "Neil Mitchell", stability = "", homepage = "http://www-users.cs.york.ac.uk/~ndm/filepath/", pkgUrl = "", description = "", category = "System", exposed = True, exposedModules = [ModuleName ["System","FilePath"],ModuleName ["System","FilePath","Posix"],ModuleName ["System","FilePath","Windows"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/filepath-1.1.0.4"], libraryDirs = ["/usr/lib/ghc-6.12.3/filepath-1.1.0.4"], hsLibraries = ["HSfilepath-1.1.0.4"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/filepath-1.1.0.4/filepath.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/filepath-1.1.0.4"]}),(InstalledPackageId "ghc-6.12.3-32f69115c5a977d5f19f8d159b76363d",InstalledPackageInfo {installedPackageId = InstalledPackageId "ghc-6.12.3-32f69115c5a977d5f19f8d159b76363d", sourcePackageId = PackageIdentifier {pkgName = PackageName "ghc", pkgVersion = Version {versionBranch = [6,12,3], versionTags = []}}, license = BSD3, copyright = "", maintainer = "glasgow-haskell-users@haskell.org", author = "The GHC Team", stability = "", homepage = "http://www.haskell.org/ghc/", pkgUrl = "", description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.", category = "Development", exposed = False, exposedModules = [ModuleName ["AsmCodeGen"],ModuleName ["TargetReg"],ModuleName ["NCGMonad"],ModuleName ["Instruction"],ModuleName ["Size"],ModuleName ["Reg"],ModuleName ["RegClass"],ModuleName ["PprBase"],ModuleName ["PIC"],ModuleName ["Platform"],ModuleName ["Alpha","Regs"],ModuleName ["Alpha","RegInfo"],ModuleName ["Alpha","Instr"],ModuleName ["Alpha","CodeGen"],ModuleName ["X86","Regs"],ModuleName ["X86","RegInfo"],ModuleName ["X86","Instr"],ModuleName ["X86","Cond"],ModuleName ["X86","Ppr"],ModuleName ["X86","CodeGen"],ModuleName ["PPC","Regs"],ModuleName ["PPC","RegInfo"],ModuleName ["PPC","Instr"],ModuleName ["PPC","Cond"],ModuleName ["PPC","Ppr"],ModuleName ["PPC","CodeGen"],ModuleName ["SPARC","Base"],ModuleName ["SPARC","Regs"],ModuleName ["SPARC","RegPlate"],ModuleName ["SPARC","Imm"],ModuleName ["SPARC","AddrMode"],ModuleName ["SPARC","Cond"],ModuleName ["SPARC","Instr"],ModuleName ["SPARC","Stack"],ModuleName ["SPARC","ShortcutJump"],ModuleName ["SPARC","Ppr"],ModuleName ["SPARC","CodeGen"],ModuleName ["SPARC","CodeGen","Amode"],ModuleName ["SPARC","CodeGen","Base"],ModuleName ["SPARC","CodeGen","CCall"],ModuleName ["SPARC","CodeGen","CondCode"],ModuleName ["SPARC","CodeGen","Gen32"],ModuleName ["SPARC","CodeGen","Gen64"],ModuleName ["SPARC","CodeGen","Sanity"],ModuleName ["SPARC","CodeGen","Expand"],ModuleName ["RegAlloc","Liveness"],ModuleName ["RegAlloc","Graph","Main"],ModuleName ["RegAlloc","Graph","Stats"],ModuleName ["RegAlloc","Graph","ArchBase"],ModuleName ["RegAlloc","Graph","ArchX86"],ModuleName ["RegAlloc","Graph","Coalesce"],ModuleName ["RegAlloc","Graph","Spill"],ModuleName ["RegAlloc","Graph","SpillClean"],ModuleName ["RegAlloc","Graph","SpillCost"],ModuleName ["RegAlloc","Graph","TrivColorable"],ModuleName ["RegAlloc","Linear","Main"],ModuleName ["RegAlloc","Linear","JoinToTargets"],ModuleName ["RegAlloc","Linear","State"],ModuleName ["RegAlloc","Linear","Stats"],ModuleName ["RegAlloc","Linear","FreeRegs"],ModuleName ["RegAlloc","Linear","StackMap"],ModuleName ["RegAlloc","Linear","Base"],ModuleName ["RegAlloc","Linear","X86","FreeRegs"],ModuleName ["RegAlloc","Linear","PPC","FreeRegs"],ModuleName ["RegAlloc","Linear","SPARC","FreeRegs"],ModuleName ["DsMeta"],ModuleName ["TcSplice"],ModuleName ["Convert"],ModuleName ["ByteCodeAsm"],ModuleName ["ByteCodeFFI"],ModuleName ["ByteCodeGen"],ModuleName ["ByteCodeInstr"],ModuleName ["ByteCodeItbls"],ModuleName ["ByteCodeLink"],ModuleName ["Debugger"],ModuleName ["LibFFI"],ModuleName ["Linker"],ModuleName ["ObjLink"],ModuleName ["RtClosureInspect"],ModuleName ["BasicTypes"],ModuleName ["DataCon"],ModuleName ["Demand"],ModuleName ["Exception"],ModuleName ["Id"],ModuleName ["IdInfo"],ModuleName ["Literal"],ModuleName ["MkId"],ModuleName ["Module"],ModuleName ["Name"],ModuleName ["NameEnv"],ModuleName ["NameSet"],ModuleName ["NewDemand"],ModuleName ["OccName"],ModuleName ["RdrName"],ModuleName ["SrcLoc"],ModuleName ["UniqSupply"],ModuleName ["Unique"],ModuleName ["Var"],ModuleName ["VarEnv"],ModuleName ["VarSet"],ModuleName ["BlockId"],ModuleName ["CLabel"],ModuleName ["Cmm"],ModuleName ["CmmBrokenBlock"],ModuleName ["CmmBuildInfoTables"],ModuleName ["CmmCPS"],ModuleName ["CmmCPSGen"],ModuleName ["CmmCPSZ"],ModuleName ["CmmCallConv"],ModuleName ["CmmCommonBlockElimZ"],ModuleName ["CmmContFlowOpt"],ModuleName ["CmmCvt"],ModuleName ["CmmExpr"],ModuleName ["CmmInfo"],ModuleName ["CmmLex"],ModuleName ["CmmLint"],ModuleName ["CmmLive"],ModuleName ["CmmLiveZ"],ModuleName ["CmmOpt"],ModuleName ["CmmParse"],ModuleName ["CmmProcPoint"],ModuleName ["CmmProcPointZ"],ModuleName ["CmmSpillReload"],ModuleName ["CmmStackLayout"],ModuleName ["CmmTx"],ModuleName ["CmmUtils"],ModuleName ["CmmZipUtil"],ModuleName ["DFMonad"],ModuleName ["Dataflow"],ModuleName ["MkZipCfg"],ModuleName ["MkZipCfgCmm"],ModuleName ["OptimizationFuel"],ModuleName ["PprC"],ModuleName ["PprCmm"],ModuleName ["PprCmmZ"],ModuleName ["StackColor"],ModuleName ["StackPlacements"],ModuleName ["ZipCfg"],ModuleName ["ZipCfgCmmRep"],ModuleName ["ZipCfgExtras"],ModuleName ["ZipDataflow"],ModuleName ["Bitmap"],ModuleName ["CgBindery"],ModuleName ["CgCallConv"],ModuleName ["CgCase"],ModuleName ["CgClosure"],ModuleName ["CgCon"],ModuleName ["CgExpr"],ModuleName ["CgForeignCall"],ModuleName ["CgHeapery"],ModuleName ["CgHpc"],ModuleName ["CgInfoTbls"],ModuleName ["CgLetNoEscape"],ModuleName ["CgMonad"],ModuleName ["CgParallel"],ModuleName ["CgPrimOp"],ModuleName ["CgProf"],ModuleName ["CgStackery"],ModuleName ["CgTailCall"],ModuleName ["CgTicky"],ModuleName ["CgUtils"],ModuleName ["StgCmm"],ModuleName ["StgCmmBind"],ModuleName ["StgCmmClosure"],ModuleName ["StgCmmCon"],ModuleName ["StgCmmEnv"],ModuleName ["StgCmmExpr"],ModuleName ["StgCmmForeign"],ModuleName ["StgCmmGran"],ModuleName ["StgCmmHeap"],ModuleName ["StgCmmHpc"],ModuleName ["StgCmmLayout"],ModuleName ["StgCmmMonad"],ModuleName ["StgCmmPrim"],ModuleName ["StgCmmProf"],ModuleName ["StgCmmTicky"],ModuleName ["StgCmmUtils"],ModuleName ["ClosureInfo"],ModuleName ["CodeGen"],ModuleName ["SMRep"],ModuleName ["CoreArity"],ModuleName ["CoreFVs"],ModuleName ["CoreLint"],ModuleName ["CorePrep"],ModuleName ["CoreSubst"],ModuleName ["CoreSyn"],ModuleName ["CoreTidy"],ModuleName ["CoreUnfold"],ModuleName ["CoreUtils"],ModuleName ["ExternalCore"],ModuleName ["MkCore"],ModuleName ["MkExternalCore"],ModuleName ["PprCore"],ModuleName ["PprExternalCore"],ModuleName ["CprAnalyse"],ModuleName ["Check"],ModuleName ["Coverage"],ModuleName ["Desugar"],ModuleName ["DsArrows"],ModuleName ["DsBinds"],ModuleName ["DsCCall"],ModuleName ["DsExpr"],ModuleName ["DsForeign"],ModuleName ["DsGRHSs"],ModuleName ["DsListComp"],ModuleName ["DsMonad"],ModuleName ["DsUtils"],ModuleName ["Match"],ModuleName ["MatchCon"],ModuleName ["MatchLit"],ModuleName ["HsBinds"],ModuleName ["HsDecls"],ModuleName ["HsDoc"],ModuleName ["HsExpr"],ModuleName ["HsImpExp"],ModuleName ["HsLit"],ModuleName ["HsPat"],ModuleName ["HsSyn"],ModuleName ["HsTypes"],ModuleName ["HsUtils"],ModuleName ["BinIface"],ModuleName ["BuildTyCl"],ModuleName ["IfaceEnv"],ModuleName ["IfaceSyn"],ModuleName ["IfaceType"],ModuleName ["LoadIface"],ModuleName ["MkIface"],ModuleName ["TcIface"],ModuleName ["Annotations"],ModuleName ["BreakArray"],ModuleName ["CmdLineParser"],ModuleName ["CodeOutput"],ModuleName ["Config"],ModuleName ["Constants"],ModuleName ["DriverMkDepend"],ModuleName ["DriverPhases"],ModuleName ["DriverPipeline"],ModuleName ["DynFlags"],ModuleName ["ErrUtils"],ModuleName ["Finder"],ModuleName ["GHC"],ModuleName ["HeaderInfo"],ModuleName ["HscMain"],ModuleName ["HscStats"],ModuleName ["HscTypes"],ModuleName ["InteractiveEval"],ModuleName ["PackageConfig"],ModuleName ["Packages"],ModuleName ["PprTyThing"],ModuleName ["StaticFlags"],ModuleName ["StaticFlagParser"],ModuleName ["SysTools"],ModuleName ["TidyPgm"],ModuleName ["Ctype"],ModuleName ["HaddockUtils"],ModuleName ["LexCore"],ModuleName ["Lexer"],ModuleName ["Parser"],ModuleName ["ParserCore"],ModuleName ["ParserCoreUtils"],ModuleName ["RdrHsSyn"],ModuleName ["ForeignCall"],ModuleName ["PrelInfo"],ModuleName ["PrelNames"],ModuleName ["PrelRules"],ModuleName ["PrimOp"],ModuleName ["TysPrim"],ModuleName ["TysWiredIn"],ModuleName ["CostCentre"],ModuleName ["SCCfinal"],ModuleName ["RnBinds"],ModuleName ["RnEnv"],ModuleName ["RnExpr"],ModuleName ["RnHsDoc"],ModuleName ["RnHsSyn"],ModuleName ["RnNames"],ModuleName ["RnPat"],ModuleName ["RnSource"],ModuleName ["RnTypes"],ModuleName ["CoreMonad"],ModuleName ["CSE"],ModuleName ["FloatIn"],ModuleName ["FloatOut"],ModuleName ["LiberateCase"],ModuleName ["OccurAnal"],ModuleName ["SAT"],ModuleName ["SetLevels"],ModuleName ["SimplCore"],ModuleName ["SimplEnv"],ModuleName ["SimplMonad"],ModuleName ["SimplUtils"],ModuleName ["Simplify"],ModuleName ["SRT"],ModuleName ["SimplStg"],ModuleName ["StgStats"],ModuleName ["Rules"],ModuleName ["SpecConstr"],ModuleName ["Specialise"],ModuleName ["CoreToStg"],ModuleName ["StgLint"],ModuleName ["StgSyn"],ModuleName ["DmdAnal"],ModuleName ["SaAbsInt"],ModuleName ["SaLib"],ModuleName ["StrictAnal"],ModuleName ["WorkWrap"],ModuleName ["WwLib"],ModuleName ["FamInst"],ModuleName ["Inst"],ModuleName ["TcAnnotations"],ModuleName ["TcArrows"],ModuleName ["TcBinds"],ModuleName ["TcClassDcl"],ModuleName ["TcDefaults"],ModuleName ["TcDeriv"],ModuleName ["TcEnv"],ModuleName ["TcExpr"],ModuleName ["TcForeign"],ModuleName ["TcGenDeriv"],ModuleName ["TcHsSyn"],ModuleName ["TcHsType"],ModuleName ["TcInstDcls"],ModuleName ["TcMType"],ModuleName ["TcMatches"],ModuleName ["TcPat"],ModuleName ["TcRnDriver"],ModuleName ["TcRnMonad"],ModuleName ["TcRnTypes"],ModuleName ["TcRules"],ModuleName ["TcSimplify"],ModuleName ["TcTyClsDecls"],ModuleName ["TcTyDecls"],ModuleName ["TcTyFuns"],ModuleName ["TcType"],ModuleName ["TcUnify"],ModuleName ["Class"],ModuleName ["Coercion"],ModuleName ["FamInstEnv"],ModuleName ["FunDeps"],ModuleName ["Generics"],ModuleName ["InstEnv"],ModuleName ["TyCon"],ModuleName ["Type"],ModuleName ["TypeRep"],ModuleName ["Unify"],ModuleName ["Bag"],ModuleName ["Binary"],ModuleName ["BufWrite"],ModuleName ["Digraph"],ModuleName ["Encoding"],ModuleName ["FastBool"],ModuleName ["FastFunctions"],ModuleName ["FastMutInt"],ModuleName ["FastString"],ModuleName ["FastTypes"],ModuleName ["Fingerprint"],ModuleName ["FiniteMap"],ModuleName ["GraphBase"],ModuleName ["GraphColor"],ModuleName ["GraphOps"],ModuleName ["GraphPpr"],ModuleName ["IOEnv"],ModuleName ["Interval"],ModuleName ["LazyUniqFM"],ModuleName ["ListSetOps"],ModuleName ["Maybes"],ModuleName ["MonadUtils"],ModuleName ["OrdList"],ModuleName ["Outputable"],ModuleName ["Panic"],ModuleName ["Pretty"],ModuleName ["Serialized"],ModuleName ["State"],ModuleName ["StringBuffer"],ModuleName ["UniqFM"],ModuleName ["UniqSet"],ModuleName ["Util"],ModuleName ["VectBuiltIn"],ModuleName ["VectCore"],ModuleName ["VectMonad"],ModuleName ["VectType"],ModuleName ["VectUtils"],ModuleName ["Vectorise"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/ghc-6.12.3"], libraryDirs = ["/usr/lib/ghc-6.12.3/ghc-6.12.3"], hsLibraries = ["HSghc-6.12.3"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/ghc-6.12.3/include"], includes = [], depends = [InstalledPackageId "Cabal-1.8.0.6-fbc519b7543237abfa4d5d0af63aa9bb",InstalledPackageId "array-0.3.0.1-438000c197b51c147f229b54edbf632e",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "bin-package-db-0.0.0.0-0dffb74a73bb78b5dc02ca941bbcbea0",InstalledPackageId "bytestring-0.9.1.7-e4f5efe6019d4771130f5cd8d3216b38",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379",InstalledPackageId "directory-1.0.1.1-f959a158a71fc63ca3822eaf49ec66dc",InstalledPackageId "filepath-1.1.0.4-c303c646a99c2a24d2402008d247eb5f",InstalledPackageId "hpc-0.5.0.5-3f3ed89da2117953d6ef3acc2332a32b",InstalledPackageId "old-time-1.0.0.5-45398fe9d274a4e0177157e25427aeec",InstalledPackageId "process-1.0.1.3-73f46aa4e6bf1a4f2f418a3c761e4e80",InstalledPackageId "template-haskell-2.4.0.1-bf08798b1934e4d6a3f903f58e0d5159",InstalledPackageId "unix-2.4.0.2-8b7fb1ebcdcb8db413d44db018f084d7"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/ghc-6.12.3/ghc.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/ghc-6.12.3"]}),(InstalledPackageId "ghc-binary-0.5.0.2-65e476e80633fdb913f3a18a211c7d06",InstalledPackageInfo {installedPackageId = InstalledPackageId "ghc-binary-0.5.0.2-65e476e80633fdb913f3a18a211c7d06", sourcePackageId = PackageIdentifier {pkgName = PackageName "ghc-binary", pkgVersion = Version {versionBranch = [0,5,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "Lennart Kolmodin, Don Stewart <dons@galois.com>", author = "Lennart Kolmodin <kolmodin@dtek.chalmers.se>", stability = "provisional", homepage = "http://code.haskell.org/binary/", pkgUrl = "", description = "Efficient, pure binary serialisation using lazy ByteStrings.\nHaskell values may be encoded to and from binary formats,\nwritten to disk as binary, or sent over the network.\nSerialisation speeds of over 1 G\\/sec have been observed,\nso this library should be suitable for high performance\nscenarios.", category = "Data, Parsing", exposed = False, exposedModules = [ModuleName ["Data","Binary"],ModuleName ["Data","Binary","Put"],ModuleName ["Data","Binary","Get"],ModuleName ["Data","Binary","Builder"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/ghc-binary-0.5.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/ghc-binary-0.5.0.2"], hsLibraries = ["HSghc-binary-0.5.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "array-0.3.0.1-438000c197b51c147f229b54edbf632e",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "bytestring-0.9.1.7-e4f5efe6019d4771130f5cd8d3216b38",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/ghc-binary-0.5.0.2/ghc-binary.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/ghc-binary-0.5.0.2"]}),(InstalledPackageId "ghc-paths-0.1.0.6-b2ea980bf1438334c19ec3c8f61af91b",InstalledPackageInfo {installedPackageId = InstalledPackageId "ghc-paths-0.1.0.6-b2ea980bf1438334c19ec3c8f61af91b", sourcePackageId = PackageIdentifier {pkgName = PackageName "ghc-paths", pkgVersion = Version {versionBranch = [0,1,0,6], versionTags = []}}, license = BSD3, copyright = "(c) Simon Marlow", maintainer = "Simon Marlow <marlowsd@gmail.com>", author = "Simon Marlow", stability = "stable", homepage = "", pkgUrl = "", description = "Knowledge of GHC's installation directories", category = "Development", exposed = True, exposedModules = [ModuleName ["GHC","Paths"]], hiddenModules = [], importDirs = ["/usr/local/lib/ghc-paths-0.1.0.6/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/ghc-paths-0.1.0.6/ghc-6.12.3"], hsLibraries = ["HSghc-paths-0.1.0.6"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/ghc-paths-0.1.0.6/html/ghc-paths.haddock"], haddockHTMLs = ["/usr/local/share/doc/ghc-paths-0.1.0.6/html"]}),(InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11",InstalledPackageInfo {installedPackageId = InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11", sourcePackageId = PackageIdentifier {pkgName = PackageName "ghc-prim", pkgVersion = Version {versionBranch = [0,2,0,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "GHC primitives.", category = "", exposed = True, exposedModules = [ModuleName ["GHC","Prim"],ModuleName ["GHC","Bool"],ModuleName ["GHC","Debug"],ModuleName ["GHC","Generics"],ModuleName ["GHC","Ordering"],ModuleName ["GHC","PrimopWrappers"],ModuleName ["GHC","IntWord32"],ModuleName ["GHC","IntWord64"],ModuleName ["GHC","Tuple"],ModuleName ["GHC","Types"],ModuleName ["GHC","Unit"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/ghc-prim-0.2.0.0"], libraryDirs = ["/usr/lib/ghc-6.12.3/ghc-prim-0.2.0.0"], hsLibraries = ["HSghc-prim-0.2.0.0"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "builtin_rts"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/ghc-prim.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0"]}),(InstalledPackageId "haskeline-0.6.2.3-1a278dc8a73e7514516cc642a37fc141",InstalledPackageInfo {installedPackageId = InstalledPackageId "haskeline-0.6.2.3-1a278dc8a73e7514516cc642a37fc141", sourcePackageId = PackageIdentifier {pkgName = PackageName "haskeline", pkgVersion = Version {versionBranch = [0,6,2,3], versionTags = []}}, license = BSD3, copyright = "(c) Judah Jacobson", maintainer = "Judah Jacobson <judah.jacobson@gmail.com>", author = "Judah Jacobson", stability = "Experimental", homepage = "http://trac.haskell.org/haskeline", pkgUrl = "", description = "Haskeline provides a user interface for line input in command-line\nprograms.  This library is similar in purpose to readline, but since\nit is written in Haskell it is (hopefully) more easily used in other\nHaskell programs.\n\nHaskeline runs both on POSIX-compatible systems and on Windows.", category = "User Interfaces", exposed = True, exposedModules = [ModuleName ["System","Console","Haskeline"],ModuleName ["System","Console","Haskeline","Completion"],ModuleName ["System","Console","Haskeline","Encoding"],ModuleName ["System","Console","Haskeline","MonadException"],ModuleName ["System","Console","Haskeline","History"],ModuleName ["System","Console","Haskeline","IO"]], hiddenModules = [ModuleName ["System","Console","Haskeline","Backend","Terminfo"],ModuleName ["System","Console","Haskeline","Backend","WCWidth"],ModuleName ["System","Console","Haskeline","Backend","Posix"],ModuleName ["System","Console","Haskeline","Backend","IConv"],ModuleName ["System","Console","Haskeline","Backend","DumbTerm"],ModuleName ["System","Console","Haskeline","Backend"],ModuleName ["System","Console","Haskeline","Command"],ModuleName ["System","Console","Haskeline","Command","Completion"],ModuleName ["System","Console","Haskeline","Command","History"],ModuleName ["System","Console","Haskeline","Command","KillRing"],ModuleName ["System","Console","Haskeline","Directory"],ModuleName ["System","Console","Haskeline","Emacs"],ModuleName ["System","Console","Haskeline","InputT"],ModuleName ["System","Console","Haskeline","Key"],ModuleName ["System","Console","Haskeline","LineState"],ModuleName ["System","Console","Haskeline","Monads"],ModuleName ["System","Console","Haskeline","Prefs"],ModuleName ["System","Console","Haskeline","RunCommand"],ModuleName ["System","Console","Haskeline","Term"],ModuleName ["System","Console","Haskeline","Command","Undo"],ModuleName ["System","Console","Haskeline","Vi"]], importDirs = ["/usr/local/lib/haskeline-0.6.2.3/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/haskeline-0.6.2.3/ghc-6.12.3"], hsLibraries = ["HShaskeline-0.6.2.3"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/local/lib/haskeline-0.6.2.3/ghc-6.12.3/include"], includes = ["h_iconv.h"], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "bytestring-0.9.1.7-e4f5efe6019d4771130f5cd8d3216b38",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379",InstalledPackageId "directory-1.0.1.1-f959a158a71fc63ca3822eaf49ec66dc",InstalledPackageId "extensible-exceptions-0.1.1.1-28a83091e117b2e719d4a1c4a320a1c8",InstalledPackageId "filepath-1.1.0.4-c303c646a99c2a24d2402008d247eb5f",InstalledPackageId "mtl-1.1.0.2-174e84f60f8c2192a4ee7d2ff2833953",InstalledPackageId "terminfo-0.3.1.3-cb5c013f461e807c42d7ab88cb71abc6",InstalledPackageId "unix-2.4.0.2-8b7fb1ebcdcb8db413d44db018f084d7",InstalledPackageId "utf8-string-0.3.6-b308ad9fc2d24291fe4fbf9384c576a8"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/haskeline-0.6.2.3/html/haskeline.haddock"], haddockHTMLs = ["/usr/local/share/doc/haskeline-0.6.2.3/html"]}),(InstalledPackageId "haskell98-1.0.1.1-4d2891ad99eae334ff8234bcfbddce06",InstalledPackageInfo {installedPackageId = InstalledPackageId "haskell98-1.0.1.1-4d2891ad99eae334ff8234bcfbddce06", sourcePackageId = PackageIdentifier {pkgName = PackageName "haskell98", pkgVersion = Version {versionBranch = [1,0,1,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "http://www.haskell.org/definition/", pkgUrl = "", description = "This package provides compatibility with the modules of Haskell\n98 and the FFI addendum, by means of wrappers around modules from\nthe base package (which in many cases have additional features).\nHowever Prelude, Numeric and Foreign are provided directly by\nthe base package.", category = "", exposed = True, exposedModules = [ModuleName ["Array"],ModuleName ["CPUTime"],ModuleName ["Char"],ModuleName ["Complex"],ModuleName ["Directory"],ModuleName ["IO"],ModuleName ["Ix"],ModuleName ["List"],ModuleName ["Locale"],ModuleName ["Maybe"],ModuleName ["Monad"],ModuleName ["Random"],ModuleName ["Ratio"],ModuleName ["System"],ModuleName ["Time"],ModuleName ["Bits"],ModuleName ["CError"],ModuleName ["CForeign"],ModuleName ["CString"],ModuleName ["CTypes"],ModuleName ["ForeignPtr"],ModuleName ["Int"],ModuleName ["MarshalAlloc"],ModuleName ["MarshalArray"],ModuleName ["MarshalError"],ModuleName ["MarshalUtils"],ModuleName ["Ptr"],ModuleName ["StablePtr"],ModuleName ["Storable"],ModuleName ["Word"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/haskell98-1.0.1.1"], libraryDirs = ["/usr/lib/ghc-6.12.3/haskell98-1.0.1.1"], hsLibraries = ["HShaskell98-1.0.1.1"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "array-0.3.0.1-438000c197b51c147f229b54edbf632e",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "directory-1.0.1.1-f959a158a71fc63ca3822eaf49ec66dc",InstalledPackageId "old-locale-1.0.0.2-0c1a4b40f2d3b9f6b725f54c00fe0923",InstalledPackageId "old-time-1.0.0.5-45398fe9d274a4e0177157e25427aeec",InstalledPackageId "process-1.0.1.3-73f46aa4e6bf1a4f2f418a3c761e4e80",InstalledPackageId "random-1.0.0.2-f4208c3677aeaaaf41e4d36309c0b4ff"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/haskell98-1.0.1.1/haskell98.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/haskell98-1.0.1.1"]}),(InstalledPackageId "hostname-1.0-2c66f7cd5b0181bf74c587fea84c34ad",InstalledPackageInfo {installedPackageId = InstalledPackageId "hostname-1.0-2c66f7cd5b0181bf74c587fea84c34ad", sourcePackageId = PackageIdentifier {pkgName = PackageName "hostname", pkgVersion = Version {versionBranch = [1,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "Max Bolingbroke <batterseapower@hotmail.com>", author = "Max Bolingbroke <batterseapower@hotmail.com>", stability = "", homepage = "", pkgUrl = "", description = "", category = "Network", exposed = True, exposedModules = [ModuleName ["Network","HostName"]], hiddenModules = [], importDirs = ["/usr/local/lib/hostname-1.0/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/hostname-1.0/ghc-6.12.3"], hsLibraries = ["HShostname-1.0"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/hostname-1.0/html/hostname.haddock"], haddockHTMLs = ["/usr/local/share/doc/hostname-1.0/html"]}),(InstalledPackageId "hpc-0.5.0.5-3f3ed89da2117953d6ef3acc2332a32b",InstalledPackageInfo {installedPackageId = InstalledPackageId "hpc-0.5.0.5-3f3ed89da2117953d6ef3acc2332a32b", sourcePackageId = PackageIdentifier {pkgName = PackageName "hpc", pkgVersion = Version {versionBranch = [0,5,0,5], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "Andy Gill", stability = "", homepage = "", pkgUrl = "", description = "", category = "Control", exposed = True, exposedModules = [ModuleName ["Trace","Hpc","Util"],ModuleName ["Trace","Hpc","Mix"],ModuleName ["Trace","Hpc","Tix"],ModuleName ["Trace","Hpc","Reflect"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/hpc-0.5.0.5"], libraryDirs = ["/usr/lib/ghc-6.12.3/hpc-0.5.0.5"], hsLibraries = ["HShpc-0.5.0.5"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379",InstalledPackageId "directory-1.0.1.1-f959a158a71fc63ca3822eaf49ec66dc",InstalledPackageId "old-time-1.0.0.5-45398fe9d274a4e0177157e25427aeec"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/hpc-0.5.0.5/hpc.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/hpc-0.5.0.5"]}),(InstalledPackageId "integer-gmp-0.2.0.1-72436e28c79d056c87cc0d2d2f9f3773",InstalledPackageInfo {installedPackageId = InstalledPackageId "integer-gmp-0.2.0.1-72436e28c79d056c87cc0d2d2f9f3773", sourcePackageId = PackageIdentifier {pkgName = PackageName "integer-gmp", pkgVersion = Version {versionBranch = [0,2,0,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains an Integer library based on GMP.", category = "", exposed = True, exposedModules = [ModuleName ["GHC","Integer"],ModuleName ["GHC","Integer","GMP","Internals"]], hiddenModules = [ModuleName ["GHC","Integer","Type"]], importDirs = ["/usr/lib/ghc-6.12.3/integer-gmp-0.2.0.1"], libraryDirs = ["/usr/lib/ghc-6.12.3/integer-gmp-0.2.0.1"], hsLibraries = ["HSinteger-gmp-0.2.0.1"], extraLibraries = ["gmp"], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/integer-gmp-0.2.0.1/integer-gmp.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/integer-gmp-0.2.0.1"]}),(InstalledPackageId "mtl-1.1.0.2-174e84f60f8c2192a4ee7d2ff2833953",InstalledPackageInfo {installedPackageId = InstalledPackageId "mtl-1.1.0.2-174e84f60f8c2192a4ee7d2ff2833953", sourcePackageId = PackageIdentifier {pkgName = PackageName "mtl", pkgVersion = Version {versionBranch = [1,1,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "Andy Gill", stability = "", homepage = "", pkgUrl = "", description = "A monad transformer library, inspired by the paper /Functional\nProgramming with Overloading and Higher-Order Polymorphism/,\nby Mark P Jones (<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>),\nAdvanced School of Functional Programming, 1995.", category = "Control", exposed = True, exposedModules = [ModuleName ["Control","Monad","Cont"],ModuleName ["Control","Monad","Cont","Class"],ModuleName ["Control","Monad","Error"],ModuleName ["Control","Monad","Error","Class"],ModuleName ["Control","Monad","Identity"],ModuleName ["Control","Monad","List"],ModuleName ["Control","Monad","RWS"],ModuleName ["Control","Monad","RWS","Class"],ModuleName ["Control","Monad","RWS","Lazy"],ModuleName ["Control","Monad","RWS","Strict"],ModuleName ["Control","Monad","Reader"],ModuleName ["Control","Monad","Reader","Class"],ModuleName ["Control","Monad","State"],ModuleName ["Control","Monad","State","Class"],ModuleName ["Control","Monad","State","Lazy"],ModuleName ["Control","Monad","State","Strict"],ModuleName ["Control","Monad","Trans"],ModuleName ["Control","Monad","Writer"],ModuleName ["Control","Monad","Writer","Class"],ModuleName ["Control","Monad","Writer","Lazy"],ModuleName ["Control","Monad","Writer","Strict"]], hiddenModules = [], importDirs = ["/usr/local/lib/mtl-1.1.0.2/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/mtl-1.1.0.2/ghc-6.12.3"], hsLibraries = ["HSmtl-1.1.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-3.0.3.2-260693a92016991a03206b5a55f6a411"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/mtl-1.1.0.2/html/mtl.haddock"], haddockHTMLs = ["/usr/local/share/doc/mtl-1.1.0.2/html"]}),(InstalledPackageId "old-locale-1.0.0.2-0c1a4b40f2d3b9f6b725f54c00fe0923",InstalledPackageInfo {installedPackageId = InstalledPackageId "old-locale-1.0.0.2-0c1a4b40f2d3b9f6b725f54c00fe0923", sourcePackageId = PackageIdentifier {pkgName = PackageName "old-locale", pkgVersion = Version {versionBranch = [1,0,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package provides the old locale library.\nFor new code, the new locale library is recommended.", category = "System", exposed = True, exposedModules = [ModuleName ["System","Locale"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/old-locale-1.0.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/old-locale-1.0.0.2"], hsLibraries = ["HSold-locale-1.0.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/old-locale-1.0.0.2/old-locale.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/old-locale-1.0.0.2"]}),(InstalledPackageId "old-time-1.0.0.5-45398fe9d274a4e0177157e25427aeec",InstalledPackageInfo {installedPackageId = InstalledPackageId "old-time-1.0.0.5-45398fe9d274a4e0177157e25427aeec", sourcePackageId = PackageIdentifier {pkgName = PackageName "old-time", pkgVersion = Version {versionBranch = [1,0,0,5], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package provides the old time library.\nFor new code, the new time library is recommended.", category = "System", exposed = True, exposedModules = [ModuleName ["System","Time"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/old-time-1.0.0.5"], libraryDirs = ["/usr/lib/ghc-6.12.3/old-time-1.0.0.5"], hsLibraries = ["HSold-time-1.0.0.5"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/old-time-1.0.0.5/include"], includes = ["HsTime.h"], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "old-locale-1.0.0.2-0c1a4b40f2d3b9f6b725f54c00fe0923"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/old-time-1.0.0.5/old-time.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/old-time-1.0.0.5"]}),(InstalledPackageId "parsec-3.1.0-0b5a7b7a7908010571b77863283c11a0",InstalledPackageInfo {installedPackageId = InstalledPackageId "parsec-3.1.0-0b5a7b7a7908010571b77863283c11a0", sourcePackageId = PackageIdentifier {pkgName = PackageName "parsec", pkgVersion = Version {versionBranch = [3,1,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "Derek Elkins <derek.a.elkins@gmail.com>", author = "Daan Leijen <daan@microsoft.com>, Paolo Martini <paolo@nemail.it>", stability = "", homepage = "http://www.cs.uu.nl/~daan/parsec.html", pkgUrl = "", description = "Parsec is designed from scratch as an industrial-strength parser\nlibrary.  It is simple, safe, well documented (on the package\nhomepage), has extensive libraries and good error messages,\nand is also fast.  It is defined as a monad transformer that can be\nstacked on arbitrary monads, and it is also parametric in the\ninput stream type.", category = "Parsing", exposed = True, exposedModules = [ModuleName ["Text","Parsec"],ModuleName ["Text","Parsec","String"],ModuleName ["Text","Parsec","ByteString"],ModuleName ["Text","Parsec","ByteString","Lazy"],ModuleName ["Text","Parsec","Pos"],ModuleName ["Text","Parsec","Error"],ModuleName ["Text","Parsec","Prim"],ModuleName ["Text","Parsec","Char"],ModuleName ["Text","Parsec","Combinator"],ModuleName ["Text","Parsec","Token"],ModuleName ["Text","Parsec","Expr"],ModuleName ["Text","Parsec","Language"],ModuleName ["Text","Parsec","Perm"],ModuleName ["Text","ParserCombinators","Parsec"],ModuleName ["Text","ParserCombinators","Parsec","Char"],ModuleName ["Text","ParserCombinators","Parsec","Combinator"],ModuleName ["Text","ParserCombinators","Parsec","Error"],ModuleName ["Text","ParserCombinators","Parsec","Expr"],ModuleName ["Text","ParserCombinators","Parsec","Language"],ModuleName ["Text","ParserCombinators","Parsec","Perm"],ModuleName ["Text","ParserCombinators","Parsec","Pos"],ModuleName ["Text","ParserCombinators","Parsec","Prim"],ModuleName ["Text","ParserCombinators","Parsec","Token"]], hiddenModules = [], importDirs = ["/usr/local/lib/parsec-3.1.0/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/parsec-3.1.0/ghc-6.12.3"], hsLibraries = ["HSparsec-3.1.0"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "bytestring-0.9.1.7-e4f5efe6019d4771130f5cd8d3216b38",InstalledPackageId "mtl-1.1.0.2-174e84f60f8c2192a4ee7d2ff2833953",InstalledPackageId "syb-0.1.0.2-0917873f366b0be90a48082271223b4e"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/parsec-3.1.0/html/parsec.haddock"], haddockHTMLs = ["/usr/local/share/doc/parsec-3.1.0/html"]}),(InstalledPackageId "pretty-1.0.1.1-cde327683d86c8644fc9073c368cc5ea",InstalledPackageInfo {installedPackageId = InstalledPackageId "pretty-1.0.1.1-cde327683d86c8644fc9073c368cc5ea", sourcePackageId = PackageIdentifier {pkgName = PackageName "pretty", pkgVersion = Version {versionBranch = [1,0,1,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains John Hughes's pretty-printing library,\nheavily modified by Simon Peyton Jones.", category = "Text", exposed = True, exposedModules = [ModuleName ["Text","PrettyPrint"],ModuleName ["Text","PrettyPrint","HughesPJ"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/pretty-1.0.1.1"], libraryDirs = ["/usr/lib/ghc-6.12.3/pretty-1.0.1.1"], hsLibraries = ["HSpretty-1.0.1.1"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/pretty-1.0.1.1/pretty.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/pretty-1.0.1.1"]}),(InstalledPackageId "process-1.0.1.3-73f46aa4e6bf1a4f2f418a3c761e4e80",InstalledPackageInfo {installedPackageId = InstalledPackageId "process-1.0.1.3-73f46aa4e6bf1a4f2f418a3c761e4e80", sourcePackageId = PackageIdentifier {pkgName = PackageName "process", pkgVersion = Version {versionBranch = [1,0,1,3], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains libraries for dealing with system processes.", category = "System", exposed = True, exposedModules = [ModuleName ["System","Process","Internals"],ModuleName ["System","Process"],ModuleName ["System","Cmd"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/process-1.0.1.3"], libraryDirs = ["/usr/lib/ghc-6.12.3/process-1.0.1.3"], hsLibraries = ["HSprocess-1.0.1.3"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/process-1.0.1.3/include"], includes = ["runProcess.h"], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "directory-1.0.1.1-f959a158a71fc63ca3822eaf49ec66dc",InstalledPackageId "filepath-1.1.0.4-c303c646a99c2a24d2402008d247eb5f",InstalledPackageId "unix-2.4.0.2-8b7fb1ebcdcb8db413d44db018f084d7"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/process-1.0.1.3/process.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/process-1.0.1.3"]}),(InstalledPackageId "random-1.0.0.2-f4208c3677aeaaaf41e4d36309c0b4ff",InstalledPackageInfo {installedPackageId = InstalledPackageId "random-1.0.0.2-f4208c3677aeaaaf41e4d36309c0b4ff", sourcePackageId = PackageIdentifier {pkgName = PackageName "random", pkgVersion = Version {versionBranch = [1,0,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package provides a random number library.", category = "System", exposed = True, exposedModules = [ModuleName ["System","Random"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/random-1.0.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/random-1.0.0.2"], hsLibraries = ["HSrandom-1.0.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "time-1.1.4-d9f7b7932dc3a4863006ed6b1d525856"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/random-1.0.0.2/random.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/random-1.0.0.2"]}),(InstalledPackageId "regex-base-0.93.2-93d41c404776e7153a3c56abb15299c9",InstalledPackageInfo {installedPackageId = InstalledPackageId "regex-base-0.93.2-93d41c404776e7153a3c56abb15299c9", sourcePackageId = PackageIdentifier {pkgName = PackageName "regex-base", pkgVersion = Version {versionBranch = [0,93,2], versionTags = []}}, license = BSD3, copyright = "Copyright (c) 2006, Christopher Kuklewicz", maintainer = "TextRegexLazy@personal.mightyreason.com", author = "Christopher Kuklewicz", stability = "Seems to work, passes a few tests", homepage = "http://sourceforge.net/projects/lazy-regex", pkgUrl = "http://darcs.haskell.org/packages/regex-unstable/regex-base/", description = "Interface API for regex-posix,pcre,parsec,tdfa,dfa", category = "Text", exposed = True, exposedModules = [ModuleName ["Text","Regex","Base"],ModuleName ["Text","Regex","Base","RegexLike"],ModuleName ["Text","Regex","Base","Context"],ModuleName ["Text","Regex","Base","Impl"]], hiddenModules = [], importDirs = ["/usr/local/lib/regex-base-0.93.2/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/regex-base-0.93.2/ghc-6.12.3"], hsLibraries = ["HSregex-base-0.93.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "array-0.3.0.1-438000c197b51c147f229b54edbf632e",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "bytestring-0.9.1.7-e4f5efe6019d4771130f5cd8d3216b38",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379",InstalledPackageId "mtl-1.1.0.2-174e84f60f8c2192a4ee7d2ff2833953"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/regex-base-0.93.2/html/regex-base.haddock"], haddockHTMLs = ["/usr/local/share/doc/regex-base-0.93.2/html"]}),(InstalledPackageId "regex-posix-0.94.4-5ed6ccc70c49d2e1b9b251b87c2ada2a",InstalledPackageInfo {installedPackageId = InstalledPackageId "regex-posix-0.94.4-5ed6ccc70c49d2e1b9b251b87c2ada2a", sourcePackageId = PackageIdentifier {pkgName = PackageName "regex-posix", pkgVersion = Version {versionBranch = [0,94,4], versionTags = []}}, license = BSD3, copyright = "Copyright (c) 2007-2010, Christopher Kuklewicz", maintainer = "TextRegexLazy@personal.mightyreason.com", author = "Christopher Kuklewicz", stability = "Seems to work, passes a few tests", homepage = "http://sourceforge.net/projects/lazy-regex", pkgUrl = "http://code.haskell.org/regex-posix/", description = "The posix regex backend for regex-base", category = "Text", exposed = True, exposedModules = [ModuleName ["Text","Regex","Posix"],ModuleName ["Text","Regex","Posix","Wrap"],ModuleName ["Text","Regex","Posix","String"],ModuleName ["Text","Regex","Posix","Sequence"],ModuleName ["Text","Regex","Posix","ByteString"],ModuleName ["Text","Regex","Posix","ByteString","Lazy"]], hiddenModules = [], importDirs = ["/usr/local/lib/regex-posix-0.94.4/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/regex-posix-0.94.4/ghc-6.12.3"], hsLibraries = ["HSregex-posix-0.94.4"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "array-0.3.0.1-438000c197b51c147f229b54edbf632e",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "bytestring-0.9.1.7-e4f5efe6019d4771130f5cd8d3216b38",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379",InstalledPackageId "regex-base-0.93.2-93d41c404776e7153a3c56abb15299c9"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/regex-posix-0.94.4/html/regex-posix.haddock"], haddockHTMLs = ["/usr/local/share/doc/regex-posix-0.94.4/html"]}),(InstalledPackageId "shaker-0.4.3-0f486f0310be547eaa282911cefce99a",InstalledPackageInfo {installedPackageId = InstalledPackageId "shaker-0.4.3-0f486f0310be547eaa282911cefce99a", sourcePackageId = PackageIdentifier {pkgName = PackageName "shaker", pkgVersion = Version {versionBranch = [0,4,3], versionTags = []}}, license = BSD3, copyright = "Copyright (c) 2010 Anthonin Bonnefoy", maintainer = "anthonin.bonnefoy@gmail.com", author = "Anthonin Bonnefoy", stability = "alpha", homepage = "http://github.com/bonnefoa/Shaker", pkgUrl = "", description = "Shaker is a build tool which allow to simply compile or launch test on an haskell project and provides some interesting features like continuous action. With continuous action, an action (compile or test) will be automatically executed when a source modification is detected.\n\nAll configuration are made via cabal; Shaker will read cabal configuration to discover source directories, compilation options and targets to compile.\n\n/Usage/\n\nThe cabal configuration file should be generated beforehand with /cabal configure/. If you change your cabal configuration, you will need to recreate the configuration file.\n\n/Launch interactive prompt/\n\nIn the root of your haskell project, launch shaker. An interactive prompt will allow you to execute different actions.\n\n/Launch a shaker action from command-line/\n\nIn the root of your haskell project, launch shaker with your action as a command argument; shaker will execute the given action and exit. See examples for more details.\n\n/Action execution/\n\n[@Simple Execution@] An action can be launched normally, by entering the action name.\n\n[@Multiple action execution@] You can specify multiple action to execute simply by separating action by spaces.\n\n[@Continuous Action@] A continuous action will execute the action when a file modification has been detected.\nEvery action are elligible to continuous action, you simply need to prefix them with '~'. To stop a continuous action, simply use ^C.\n\n/Available actions/\n\n[@compile@] Compile the project. Targets of the compilation are main files (in case of executable) and exposed modules (in case of library).\n\n[@fullcompile@] Compile all hs files found in source directory. It is usefull to compile sources not declared in cabal. Since it is not possible to compile multiple modules with main, all modules with a main function are excluded.\n\n[@help@] Print all available action.\n\n[@clean@] Clean the directory containing .o and .hi files.\n\n[@test@] Launch all quickcheck properties and hunit tests of the project using test-framework. You can provide one or several regexps as argument and shaker will execute all tests matching one regexp. Quickcheck properties and HUnit tests are automatically discovered using GHC Api. All functions begining with \8220prop_\8221 are considered as quickcheck properties and all functions of type Test.HUnit.Lang.Assertion and TestCase are considered as HUnit tests.\n\n[@test-module@] Same as test but test-module takes one or several module patterns as arguments.\n\n[@itest@] Launch all quickcheck properties and hunit tests using test-framework on compiled modules. Same as test, you can give a regexp as argument. This action is only useful when used with continuous action.\n\n[@itest-module@] Same as itest but itest-module takes one or several module patterns as arguments.\n\n[@quit@] Exit the application. You can also use ^C or ^D to exit shaker.\n\n/Examples with interactive prompt/\n\n[@% compile@] Simply compile the project\n\n[@% clean compile@] Clean and compile the project\n\n[@% ~compile@] Switch to continuous mode and will compile the project when sources are modified.\n\n[@% ~clean compile@] Switch to continuous mode and will clean and compile the project when sources are modified.\n\n[@% test@] Execute all tests in the project\n\n[@% ~itest@] Switch to continuous mode and execute tests on compiled modules.\n\n[@% test prop_.*@] Execute all quickcheck properties of the project.\n\n[@% test testExecute.* testFilter.* @] Execute all tests matching testExecute.* or testFilter.*\n\n[@% test-module Regex Refle@] Launch all tests in modules matching Regex.* or Refle.*\n\n[@% ~itest-module Regex Refle@] Launch all tests in modules matching Regex.* or Refle.* only when they are build.\n\n/Examples with command-line/\n\n[@% shaker fullcompile@] Launch shaker, execute the fullcompile action and give back the control.\n\n[@% shaker \\\"~fullcompile\\\" @] Launch shaker, continuously execute the fullcompile action until shaker is interrupted.", category = "Development", exposed = True, exposedModules = [ModuleName ["Shaker","Parser"],ModuleName ["Shaker","Action","Standard"],ModuleName ["Shaker","Action","Test"],ModuleName ["Shaker","Action","Compile"],ModuleName ["Shaker","Conductor"],ModuleName ["Shaker","Config"],ModuleName ["Shaker","TestTH"],ModuleName ["Shaker","PluginConfig"],ModuleName ["Shaker","Reflexivite"],ModuleName ["Shaker","Regex"],ModuleName ["Shaker","Cli"],ModuleName ["Shaker","Io"],ModuleName ["Shaker","SourceHelper"],ModuleName ["Shaker","Cabal","CabalInfo"],ModuleName ["Shaker","Type"],ModuleName ["Shaker","Listener"]], hiddenModules = [], importDirs = ["/usr/local/lib/shaker-0.4.3/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/shaker-0.4.3/ghc-6.12.3"], hsLibraries = ["HSshaker-0.4.3"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "Cabal-1.8.0.6-fbc519b7543237abfa4d5d0af63aa9bb",InstalledPackageId "HUnit-1.2.2.3-22a4b7b2e37ba33060b9d5875ee5e58d",InstalledPackageId "QuickCheck-2.2-22063d10d03e3b4def140e347863dd3a",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "bytestring-0.9.1.7-e4f5efe6019d4771130f5cd8d3216b38",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379",InstalledPackageId "directory-1.0.1.1-f959a158a71fc63ca3822eaf49ec66dc",InstalledPackageId "filepath-1.1.0.4-c303c646a99c2a24d2402008d247eb5f",InstalledPackageId "ghc-6.12.3-32f69115c5a977d5f19f8d159b76363d",InstalledPackageId "ghc-paths-0.1.0.6-b2ea980bf1438334c19ec3c8f61af91b",InstalledPackageId "haskeline-0.6.2.3-1a278dc8a73e7514516cc642a37fc141",InstalledPackageId "haskell98-1.0.1.1-4d2891ad99eae334ff8234bcfbddce06",InstalledPackageId "mtl-1.1.0.2-174e84f60f8c2192a4ee7d2ff2833953",InstalledPackageId "old-time-1.0.0.5-45398fe9d274a4e0177157e25427aeec",InstalledPackageId "parsec-3.1.0-0b5a7b7a7908010571b77863283c11a0",InstalledPackageId "regex-posix-0.94.4-5ed6ccc70c49d2e1b9b251b87c2ada2a",InstalledPackageId "template-haskell-2.4.0.1-bf08798b1934e4d6a3f903f58e0d5159",InstalledPackageId "test-framework-0.3.2-f6ef719e9634025c1b2a8e168ff3cf1d",InstalledPackageId "test-framework-hunit-0.2.6-44bfb24857b5a3c3cc4fc2eb46048c38",InstalledPackageId "test-framework-quickcheck2-0.2.7-7f73165dd6d73f5cac795dc781efbac8"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/shaker-0.4.3/html/shaker.haddock"], haddockHTMLs = ["/usr/local/share/doc/shaker-0.4.3/html"]}),(InstalledPackageId "syb-0.1.0.2-0917873f366b0be90a48082271223b4e",InstalledPackageInfo {installedPackageId = InstalledPackageId "syb-0.1.0.2-0917873f366b0be90a48082271223b4e", sourcePackageId = PackageIdentifier {pkgName = PackageName "syb", pkgVersion = Version {versionBranch = [0,1,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains the generics system described in the\n/Scrap Your Boilerplate/ papers (see <http://www.cs.vu.nl/boilerplate/>).\nIt defines the @Data@ class of types permitting folding and unfolding\nof constructor applications, instances of this class for primitive\ntypes, and a variety of traversals.", category = "", exposed = True, exposedModules = [ModuleName ["Data","Generics"],ModuleName ["Data","Generics","Aliases"],ModuleName ["Data","Generics","Basics"],ModuleName ["Data","Generics","Instances"],ModuleName ["Data","Generics","Schemes"],ModuleName ["Data","Generics","Text"],ModuleName ["Data","Generics","Twins"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/syb-0.1.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/syb-0.1.0.2"], hsLibraries = ["HSsyb-0.1.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/syb-0.1.0.2/syb.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/syb-0.1.0.2"]}),(InstalledPackageId "template-haskell-2.4.0.1-bf08798b1934e4d6a3f903f58e0d5159",InstalledPackageInfo {installedPackageId = InstalledPackageId "template-haskell-2.4.0.1-bf08798b1934e4d6a3f903f58e0d5159", sourcePackageId = PackageIdentifier {pkgName = PackageName "template-haskell", pkgVersion = Version {versionBranch = [2,4,0,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "Facilities for manipulating Haskell source code using Template Haskell.", category = "", exposed = True, exposedModules = [ModuleName ["Language","Haskell","TH","Syntax","Internals"],ModuleName ["Language","Haskell","TH","Syntax"],ModuleName ["Language","Haskell","TH","PprLib"],ModuleName ["Language","Haskell","TH","Ppr"],ModuleName ["Language","Haskell","TH","Lib"],ModuleName ["Language","Haskell","TH","Quote"],ModuleName ["Language","Haskell","TH"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/template-haskell-2.4.0.1"], libraryDirs = ["/usr/lib/ghc-6.12.3/template-haskell-2.4.0.1"], hsLibraries = ["HStemplate-haskell-2.4.0.1"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379",InstalledPackageId "pretty-1.0.1.1-cde327683d86c8644fc9073c368cc5ea"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/template-haskell-2.4.0.1/template-haskell.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/template-haskell-2.4.0.1"]}),(InstalledPackageId "terminfo-0.3.1.3-cb5c013f461e807c42d7ab88cb71abc6",InstalledPackageInfo {installedPackageId = InstalledPackageId "terminfo-0.3.1.3-cb5c013f461e807c42d7ab88cb71abc6", sourcePackageId = PackageIdentifier {pkgName = PackageName "terminfo", pkgVersion = Version {versionBranch = [0,3,1,3], versionTags = []}}, license = BSD3, copyright = "(c) Judah Jacobson", maintainer = "Judah Jacobson <judah.jacobson@gmail.com>", author = "Judah Jacobson", stability = "Experimental", homepage = "http://code.haskell.org/terminfo", pkgUrl = "", description = "This library provides an interface to the terminfo database (via bindings to the\ncurses library).  Terminfo allows POSIX systems to interact with a variety of terminals\nusing a standard set of capabilities.", category = "User Interfaces", exposed = True, exposedModules = [ModuleName ["System","Console","Terminfo"],ModuleName ["System","Console","Terminfo","Base"],ModuleName ["System","Console","Terminfo","Cursor"],ModuleName ["System","Console","Terminfo","Color"],ModuleName ["System","Console","Terminfo","Edit"],ModuleName ["System","Console","Terminfo","Effects"],ModuleName ["System","Console","Terminfo","Keys"]], hiddenModules = [], importDirs = ["/usr/local/lib/terminfo-0.3.1.3/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/terminfo-0.3.1.3/ghc-6.12.3"], hsLibraries = ["HSterminfo-0.3.1.3"], extraLibraries = ["ncursesw"], extraGHCiLibraries = [], includeDirs = [], includes = ["ncurses.h","term.h"], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "extensible-exceptions-0.1.1.1-28a83091e117b2e719d4a1c4a320a1c8"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/terminfo-0.3.1.3/html/terminfo.haddock"], haddockHTMLs = ["/usr/local/share/doc/terminfo-0.3.1.3/html"]}),(InstalledPackageId "test-framework-0.3.2-f6ef719e9634025c1b2a8e168ff3cf1d",InstalledPackageInfo {installedPackageId = InstalledPackageId "test-framework-0.3.2-f6ef719e9634025c1b2a8e168ff3cf1d", sourcePackageId = PackageIdentifier {pkgName = PackageName "test-framework", pkgVersion = Version {versionBranch = [0,3,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "Max Bolingbroke <batterseapower@hotmail.com>", author = "Max Bolingbroke <batterseapower@hotmail.com>", stability = "", homepage = "http://batterseapower.github.com/test-framework/", pkgUrl = "", description = "Allows tests such as QuickCheck properties and HUnit test cases to be assembled into test groups, run in\nparallel (but reported in deterministic order, to aid diff interpretation) and filtered and controlled by\ncommand line options. All of this comes with colored test output, progress reporting and test statistics output.", category = "Testing", exposed = True, exposedModules = [ModuleName ["Test","Framework"],ModuleName ["Test","Framework","Options"],ModuleName ["Test","Framework","Providers","API"],ModuleName ["Test","Framework","Runners","Console"],ModuleName ["Test","Framework","Runners","Options"],ModuleName ["Test","Framework","Seed"]], hiddenModules = [ModuleName ["Test","Framework","Core"],ModuleName ["Test","Framework","Improving"],ModuleName ["Test","Framework","Runners","Console","Colors"],ModuleName ["Test","Framework","Runners","Console","ProgressBar"],ModuleName ["Test","Framework","Runners","Console","Run"],ModuleName ["Test","Framework","Runners","Console","Statistics"],ModuleName ["Test","Framework","Runners","Console","Table"],ModuleName ["Test","Framework","Runners","Console","Utilities"],ModuleName ["Test","Framework","Runners","Core"],ModuleName ["Test","Framework","Runners","Processors"],ModuleName ["Test","Framework","Runners","Statistics"],ModuleName ["Test","Framework","Runners","TestPattern"],ModuleName ["Test","Framework","Runners","ThreadPool"],ModuleName ["Test","Framework","Runners","TimedConsumption"],ModuleName ["Test","Framework","Runners","XML","JUnitWriter"],ModuleName ["Test","Framework","Runners","XML"],ModuleName ["Test","Framework","Utilities"]], importDirs = ["/usr/local/lib/test-framework-0.3.2/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/test-framework-0.3.2/ghc-6.12.3"], hsLibraries = ["HStest-framework-0.3.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "ansi-terminal-0.5.3-fef2144db00d62ea2d9da21ec5ca7046",InstalledPackageId "ansi-wl-pprint-0.5.1-22f27bc85096873ab1a93267304717c0",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379",InstalledPackageId "extensible-exceptions-0.1.1.1-28a83091e117b2e719d4a1c4a320a1c8",InstalledPackageId "hostname-1.0-2c66f7cd5b0181bf74c587fea84c34ad",InstalledPackageId "old-locale-1.0.0.2-0c1a4b40f2d3b9f6b725f54c00fe0923",InstalledPackageId "random-1.0.0.2-f4208c3677aeaaaf41e4d36309c0b4ff",InstalledPackageId "regex-posix-0.94.4-5ed6ccc70c49d2e1b9b251b87c2ada2a",InstalledPackageId "time-1.1.4-d9f7b7932dc3a4863006ed6b1d525856",InstalledPackageId "xml-1.3.7-8eed171da0fbc8d7cd88227177b737d1"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/test-framework-0.3.2/html/test-framework.haddock"], haddockHTMLs = ["/usr/local/share/doc/test-framework-0.3.2/html"]}),(InstalledPackageId "test-framework-hunit-0.2.6-44bfb24857b5a3c3cc4fc2eb46048c38",InstalledPackageInfo {installedPackageId = InstalledPackageId "test-framework-hunit-0.2.6-44bfb24857b5a3c3cc4fc2eb46048c38", sourcePackageId = PackageIdentifier {pkgName = PackageName "test-framework-hunit", pkgVersion = Version {versionBranch = [0,2,6], versionTags = []}}, license = BSD3, copyright = "", maintainer = "Max Bolingbroke <batterseapower@hotmail.com>", author = "Max Bolingbroke <batterseapower@hotmail.com>", stability = "", homepage = "http://batterseapower.github.com/test-framework/", pkgUrl = "", description = "", category = "Testing", exposed = True, exposedModules = [ModuleName ["Test","Framework","Providers","HUnit"]], hiddenModules = [], importDirs = ["/usr/local/lib/test-framework-hunit-0.2.6/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/test-framework-hunit-0.2.6/ghc-6.12.3"], hsLibraries = ["HStest-framework-hunit-0.2.6"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "HUnit-1.2.2.3-22a4b7b2e37ba33060b9d5875ee5e58d",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "extensible-exceptions-0.1.1.1-28a83091e117b2e719d4a1c4a320a1c8",InstalledPackageId "test-framework-0.3.2-f6ef719e9634025c1b2a8e168ff3cf1d"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/test-framework-hunit-0.2.6/html/test-framework-hunit.haddock"], haddockHTMLs = ["/usr/local/share/doc/test-framework-hunit-0.2.6/html"]}),(InstalledPackageId "test-framework-quickcheck2-0.2.7-7f73165dd6d73f5cac795dc781efbac8",InstalledPackageInfo {installedPackageId = InstalledPackageId "test-framework-quickcheck2-0.2.7-7f73165dd6d73f5cac795dc781efbac8", sourcePackageId = PackageIdentifier {pkgName = PackageName "test-framework-quickcheck2", pkgVersion = Version {versionBranch = [0,2,7], versionTags = []}}, license = BSD3, copyright = "", maintainer = "Max Bolingbroke <batterseapower@hotmail.com>", author = "Max Bolingbroke <batterseapower@hotmail.com>", stability = "", homepage = "http://batterseapower.github.com/test-framework/", pkgUrl = "", description = "", category = "Testing", exposed = True, exposedModules = [ModuleName ["Test","Framework","Providers","QuickCheck2"]], hiddenModules = [], importDirs = ["/usr/local/lib/test-framework-quickcheck2-0.2.7/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/test-framework-quickcheck2-0.2.7/ghc-6.12.3"], hsLibraries = ["HStest-framework-quickcheck2-0.2.7"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "QuickCheck-2.2-22063d10d03e3b4def140e347863dd3a",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "extensible-exceptions-0.1.1.1-28a83091e117b2e719d4a1c4a320a1c8",InstalledPackageId "random-1.0.0.2-f4208c3677aeaaaf41e4d36309c0b4ff",InstalledPackageId "test-framework-0.3.2-f6ef719e9634025c1b2a8e168ff3cf1d"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/test-framework-quickcheck2-0.2.7/html/test-framework-quickcheck2.haddock"], haddockHTMLs = ["/usr/local/share/doc/test-framework-quickcheck2-0.2.7/html"]}),(InstalledPackageId "time-1.1.4-d9f7b7932dc3a4863006ed6b1d525856",InstalledPackageInfo {installedPackageId = InstalledPackageId "time-1.1.4-d9f7b7932dc3a4863006ed6b1d525856", sourcePackageId = PackageIdentifier {pkgName = PackageName "time", pkgVersion = Version {versionBranch = [1,1,4], versionTags = []}}, license = BSD3, copyright = "", maintainer = "<ashley@semantic.org>", author = "Ashley Yakeley", stability = "stable", homepage = "http://semantic.org/TimeLib/", pkgUrl = "", description = "A time library", category = "System", exposed = True, exposedModules = [ModuleName ["Data","Time","Calendar"],ModuleName ["Data","Time","Calendar","MonthDay"],ModuleName ["Data","Time","Calendar","OrdinalDate"],ModuleName ["Data","Time","Calendar","WeekDate"],ModuleName ["Data","Time","Calendar","Julian"],ModuleName ["Data","Time","Calendar","Easter"],ModuleName ["Data","Time","Clock"],ModuleName ["Data","Time","Clock","POSIX"],ModuleName ["Data","Time","Clock","TAI"],ModuleName ["Data","Time","LocalTime"],ModuleName ["Data","Time","Format"],ModuleName ["Data","Time"]], hiddenModules = [ModuleName ["Data","Time","Calendar","Private"],ModuleName ["Data","Time","Calendar","Days"],ModuleName ["Data","Time","Calendar","Gregorian"],ModuleName ["Data","Time","Calendar","JulianYearDay"],ModuleName ["Data","Time","Clock","Scale"],ModuleName ["Data","Time","Clock","UTC"],ModuleName ["Data","Time","Clock","CTimeval"],ModuleName ["Data","Time","Clock","UTCDiff"],ModuleName ["Data","Time","LocalTime","TimeZone"],ModuleName ["Data","Time","LocalTime","TimeOfDay"],ModuleName ["Data","Time","LocalTime","LocalTime"],ModuleName ["Data","Time","Format","Parse"]], importDirs = ["/usr/lib/ghc-6.12.3/time-1.1.4"], libraryDirs = ["/usr/lib/ghc-6.12.3/time-1.1.4"], hsLibraries = ["HStime-1.1.4"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/time-1.1.4/include"], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "old-locale-1.0.0.2-0c1a4b40f2d3b9f6b725f54c00fe0923"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/time-1.1.4/time.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/time-1.1.4"]}),(InstalledPackageId "unix-2.4.0.2-8b7fb1ebcdcb8db413d44db018f084d7",InstalledPackageInfo {installedPackageId = InstalledPackageId "unix-2.4.0.2-8b7fb1ebcdcb8db413d44db018f084d7", sourcePackageId = PackageIdentifier {pkgName = PackageName "unix", pkgVersion = Version {versionBranch = [2,4,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package gives you access to the set of operating system\nservices standardised by POSIX 1003.1b (or the IEEE Portable\nOperating System Interface for Computing Environments -\nIEEE Std. 1003.1).\n\nThe package is not supported under Windows (except under Cygwin).", category = "System", exposed = True, exposedModules = [ModuleName ["System","Posix"],ModuleName ["System","Posix","DynamicLinker","Module"],ModuleName ["System","Posix","DynamicLinker","Prim"],ModuleName ["System","Posix","Directory"],ModuleName ["System","Posix","DynamicLinker"],ModuleName ["System","Posix","Env"],ModuleName ["System","Posix","Error"],ModuleName ["System","Posix","Files"],ModuleName ["System","Posix","IO"],ModuleName ["System","Posix","Process"],ModuleName ["System","Posix","Process","Internals"],ModuleName ["System","Posix","Resource"],ModuleName ["System","Posix","Temp"],ModuleName ["System","Posix","Terminal"],ModuleName ["System","Posix","Time"],ModuleName ["System","Posix","Unistd"],ModuleName ["System","Posix","User"],ModuleName ["System","Posix","Signals"],ModuleName ["System","Posix","Signals","Exts"],ModuleName ["System","Posix","Semaphore"],ModuleName ["System","Posix","SharedMem"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/unix-2.4.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/unix-2.4.0.2"], hsLibraries = ["HSunix-2.4.0.2"], extraLibraries = ["rt","util","dl"], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/unix-2.4.0.2/include"], includes = ["HsUnix.h","execvpe.h"], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/unix-2.4.0.2/unix.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/unix-2.4.0.2"]}),(InstalledPackageId "utf8-string-0.3.6-b308ad9fc2d24291fe4fbf9384c576a8",InstalledPackageInfo {installedPackageId = InstalledPackageId "utf8-string-0.3.6-b308ad9fc2d24291fe4fbf9384c576a8", sourcePackageId = PackageIdentifier {pkgName = PackageName "utf8-string", pkgVersion = Version {versionBranch = [0,3,6], versionTags = []}}, license = BSD3, copyright = "", maintainer = "emertens@galois.com", author = "Eric Mertens", stability = "", homepage = "http://github.com/glguy/utf8-string/", pkgUrl = "", description = "A UTF8 layer for IO and Strings. The utf8-string\npackage provides operations for encoding UTF8\nstrings to Word8 lists and back, and for reading and\nwriting UTF8 without truncation.", category = "Codec", exposed = True, exposedModules = [ModuleName ["Codec","Binary","UTF8","String"],ModuleName ["Codec","Binary","UTF8","Generic"],ModuleName ["System","IO","UTF8"],ModuleName ["System","Environment","UTF8"],ModuleName ["Data","String","UTF8"],ModuleName ["Data","ByteString","UTF8"],ModuleName ["Data","ByteString","Lazy","UTF8"]], hiddenModules = [], importDirs = ["/usr/local/lib/utf8-string-0.3.6/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/utf8-string-0.3.6/ghc-6.12.3"], hsLibraries = ["HSutf8-string-0.3.6"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-3.0.3.2-260693a92016991a03206b5a55f6a411",InstalledPackageId "bytestring-0.9.1.7-e4f5efe6019d4771130f5cd8d3216b38"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/utf8-string-0.3.6/html/utf8-string.haddock"], haddockHTMLs = ["/usr/local/share/doc/utf8-string-0.3.6/html"]}),(InstalledPackageId "xml-1.3.7-8eed171da0fbc8d7cd88227177b737d1",InstalledPackageInfo {installedPackageId = InstalledPackageId "xml-1.3.7-8eed171da0fbc8d7cd88227177b737d1", sourcePackageId = PackageIdentifier {pkgName = PackageName "xml", pkgVersion = Version {versionBranch = [1,3,7], versionTags = []}}, license = BSD3, copyright = "(c) 2007-2008 Galois Inc.", maintainer = "diatchki@galois.com", author = "Galois Inc.", stability = "", homepage = "http://code.galois.com", pkgUrl = "", description = "A simple XML library.", category = "Text, XML", exposed = True, exposedModules = [ModuleName ["Text","XML","Light"],ModuleName ["Text","XML","Light","Types"],ModuleName ["Text","XML","Light","Output"],ModuleName ["Text","XML","Light","Input"],ModuleName ["Text","XML","Light","Lexer"],ModuleName ["Text","XML","Light","Proc"],ModuleName ["Text","XML","Light","Cursor"]], hiddenModules = [], importDirs = ["/usr/local/lib/xml-1.3.7/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/xml-1.3.7/ghc-6.12.3"], hsLibraries = ["HSxml-1.3.7"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "bytestring-0.9.1.7-e4f5efe6019d4771130f5cd8d3216b38"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/xml-1.3.7/html/xml.haddock"], haddockHTMLs = ["/usr/local/share/doc/xml-1.3.7/html"]})]) (fromList [(PackageName "Cabal",fromList [(Version {versionBranch = [1,8,0,6], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "Cabal-1.8.0.6-fbc519b7543237abfa4d5d0af63aa9bb", sourcePackageId = PackageIdentifier {pkgName = PackageName "Cabal", pkgVersion = Version {versionBranch = [1,8,0,6], versionTags = []}}, license = BSD3, copyright = "2003-2006, Isaac Jones\n2005-2009, Duncan Coutts", maintainer = "cabal-devel@haskell.org", author = "Isaac Jones <ijones@syntaxpolice.org>\nDuncan Coutts <duncan@haskell.org>", stability = "", homepage = "http://www.haskell.org/cabal/", pkgUrl = "", description = "The Haskell Common Architecture for Building Applications and\nLibraries: a framework defining a common interface for authors to more\neasily build their Haskell applications in a portable way.\n\nThe Haskell Cabal is part of a larger infrastructure for distributing,\norganizing, and cataloging Haskell libraries and tools.", category = "Distribution", exposed = True, exposedModules = [ModuleName ["Distribution","Compiler"],ModuleName ["Distribution","InstalledPackageInfo"],ModuleName ["Distribution","License"],ModuleName ["Distribution","Make"],ModuleName ["Distribution","ModuleName"],ModuleName ["Distribution","Package"],ModuleName ["Distribution","PackageDescription"],ModuleName ["Distribution","PackageDescription","Configuration"],ModuleName ["Distribution","PackageDescription","Parse"],ModuleName ["Distribution","PackageDescription","Check"],ModuleName ["Distribution","ParseUtils"],ModuleName ["Distribution","ReadE"],ModuleName ["Distribution","Simple"],ModuleName ["Distribution","Simple","Build"],ModuleName ["Distribution","Simple","Build","Macros"],ModuleName ["Distribution","Simple","Build","PathsModule"],ModuleName ["Distribution","Simple","BuildPaths"],ModuleName ["Distribution","Simple","Command"],ModuleName ["Distribution","Simple","Compiler"],ModuleName ["Distribution","Simple","Configure"],ModuleName ["Distribution","Simple","GHC"],ModuleName ["Distribution","Simple","LHC"],ModuleName ["Distribution","Simple","Haddock"],ModuleName ["Distribution","Simple","Hugs"],ModuleName ["Distribution","Simple","Install"],ModuleName ["Distribution","Simple","InstallDirs"],ModuleName ["Distribution","Simple","JHC"],ModuleName ["Distribution","Simple","LocalBuildInfo"],ModuleName ["Distribution","Simple","NHC"],ModuleName ["Distribution","Simple","PackageIndex"],ModuleName ["Distribution","Simple","PreProcess"],ModuleName ["Distribution","Simple","PreProcess","Unlit"],ModuleName ["Distribution","Simple","Program"],ModuleName ["Distribution","Simple","Program","Ar"],ModuleName ["Distribution","Simple","Program","Builtin"],ModuleName ["Distribution","Simple","Program","Db"],ModuleName ["Distribution","Simple","Program","HcPkg"],ModuleName ["Distribution","Simple","Program","Ld"],ModuleName ["Distribution","Simple","Program","Run"],ModuleName ["Distribution","Simple","Program","Script"],ModuleName ["Distribution","Simple","Program","Types"],ModuleName ["Distribution","Simple","Register"],ModuleName ["Distribution","Simple","Setup"],ModuleName ["Distribution","Simple","SrcDist"],ModuleName ["Distribution","Simple","UserHooks"],ModuleName ["Distribution","Simple","Utils"],ModuleName ["Distribution","System"],ModuleName ["Distribution","Text"],ModuleName ["Distribution","Verbosity"],ModuleName ["Distribution","Version"],ModuleName ["Distribution","Compat","ReadP"],ModuleName ["Language","Haskell","Extension"]], hiddenModules = [ModuleName ["Distribution","GetOpt"],ModuleName ["Distribution","Compat","Exception"],ModuleName ["Distribution","Compat","CopyFile"],ModuleName ["Distribution","Compat","TempFile"],ModuleName ["Distribution","Simple","GHC","IPI641"],ModuleName ["Distribution","Simple","GHC","IPI642"]], importDirs = ["/usr/lib/ghc-6.12.3/Cabal-1.8.0.6"], libraryDirs = ["/usr/lib/ghc-6.12.3/Cabal-1.8.0.6"], hsLibraries = ["HSCabal-1.8.0.6"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "array-0.3.0.1-438000c197b51c147f229b54edbf632e",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379",InstalledPackageId "directory-1.0.1.1-f959a158a71fc63ca3822eaf49ec66dc",InstalledPackageId "filepath-1.1.0.4-c303c646a99c2a24d2402008d247eb5f",InstalledPackageId "old-time-1.0.0.5-45398fe9d274a4e0177157e25427aeec",InstalledPackageId "pretty-1.0.1.1-cde327683d86c8644fc9073c368cc5ea",InstalledPackageId "process-1.0.1.3-73f46aa4e6bf1a4f2f418a3c761e4e80",InstalledPackageId "unix-2.4.0.2-8b7fb1ebcdcb8db413d44db018f084d7"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/Cabal-1.8.0.6/Cabal.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/Cabal-1.8.0.6"]}])]),(PackageName "HUnit",fromList [(Version {versionBranch = [1,2,2,3], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "HUnit-1.2.2.3-22a4b7b2e37ba33060b9d5875ee5e58d", sourcePackageId = PackageIdentifier {pkgName = PackageName "HUnit", pkgVersion = Version {versionBranch = [1,2,2,3], versionTags = []}}, license = BSD3, copyright = "", maintainer = "hunit@richardg.name", author = "Dean Herington", stability = "stable", homepage = "http://hunit.sourceforge.net/", pkgUrl = "", description = "HUnit is a unit testing framework for Haskell, inspired by the\nJUnit tool for Java, see: <http://www.junit.org>.", category = "Testing", exposed = True, exposedModules = [ModuleName ["Test","HUnit","Base"],ModuleName ["Test","HUnit","Lang"],ModuleName ["Test","HUnit","Terminal"],ModuleName ["Test","HUnit","Text"],ModuleName ["Test","HUnit"]], hiddenModules = [], importDirs = ["/usr/local/lib/HUnit-1.2.2.3/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/HUnit-1.2.2.3/ghc-6.12.3"], hsLibraries = ["HSHUnit-1.2.2.3"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/HUnit-1.2.2.3/html/HUnit.haddock"], haddockHTMLs = ["/usr/local/share/doc/HUnit-1.2.2.3/html"]}])]),(PackageName "QuickCheck",fromList [(Version {versionBranch = [2,2], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "QuickCheck-2.2-22063d10d03e3b4def140e347863dd3a", sourcePackageId = PackageIdentifier {pkgName = PackageName "QuickCheck", pkgVersion = Version {versionBranch = [2,2], versionTags = []}}, license = BSD3, copyright = "Koen Claessen <koen@chalmers.se>", maintainer = "QuickCheck developers <quickcheck@projects.haskell.org>", author = "Koen Claessen <koen@chalmers.se>", stability = "", homepage = "http://code.haskell.org/QuickCheck", pkgUrl = "", description = "QuickCheck is a library for random testing of program properties.\n\nThe programmer provides a specification of the program, in\nthe form of properties which functions should satisfy, and\nQuickCheck then tests that the properties hold in a large number\nof randomly generated cases.\n\nSpecifications are expressed in\nHaskell, using combinators defined in the QuickCheck library.\nQuickCheck provides combinators to define properties, observe\nthe distribution of test data, and define test\ndata generators.", category = "Testing", exposed = True, exposedModules = [ModuleName ["Test","QuickCheck"],ModuleName ["Test","QuickCheck","Arbitrary"],ModuleName ["Test","QuickCheck","Function"],ModuleName ["Test","QuickCheck","Gen"],ModuleName ["Test","QuickCheck","Monadic"],ModuleName ["Test","QuickCheck","Modifiers"],ModuleName ["Test","QuickCheck","Property"],ModuleName ["Test","QuickCheck","Test"],ModuleName ["Test","QuickCheck","Text"],ModuleName ["Test","QuickCheck","Poly"],ModuleName ["Test","QuickCheck","State"]], hiddenModules = [ModuleName ["Test","QuickCheck","Exception"]], importDirs = ["/usr/local/lib/QuickCheck-2.2/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/QuickCheck-2.2/ghc-6.12.3"], hsLibraries = ["HSQuickCheck-2.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "extensible-exceptions-0.1.1.1-28a83091e117b2e719d4a1c4a320a1c8",InstalledPackageId "ghc-6.12.3-32f69115c5a977d5f19f8d159b76363d",InstalledPackageId "mtl-1.1.0.2-174e84f60f8c2192a4ee7d2ff2833953",InstalledPackageId "random-1.0.0.2-f4208c3677aeaaaf41e4d36309c0b4ff"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/QuickCheck-2.2/html/QuickCheck.haddock"], haddockHTMLs = ["/usr/local/share/doc/QuickCheck-2.2/html"]}])]),(PackageName "ansi-terminal",fromList [(Version {versionBranch = [0,5,3], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "ansi-terminal-0.5.3-fef2144db00d62ea2d9da21ec5ca7046", sourcePackageId = PackageIdentifier {pkgName = PackageName "ansi-terminal", pkgVersion = Version {versionBranch = [0,5,3], versionTags = []}}, license = BSD3, copyright = "", maintainer = "batterseapower@hotmail.com", author = "Max Bolingbroke", stability = "", homepage = "http://batterseapower.github.com/ansi-terminal", pkgUrl = "", description = "ANSI terminal support for Haskell: allows cursor movement, screen clearing, color output showing or hiding the cursor, and\nchanging the title. Compatible with Windows and those Unixes with ANSI terminals, but only GHC is supported as a compiler.", category = "User Interfaces", exposed = True, exposedModules = [ModuleName ["System","Console","ANSI"]], hiddenModules = [ModuleName ["System","Console","ANSI","Unix"],ModuleName ["System","Console","ANSI","Common"]], importDirs = ["/usr/local/lib/ansi-terminal-0.5.3/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/ansi-terminal-0.5.3/ghc-6.12.3"], hsLibraries = ["HSansi-terminal-0.5.3"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "unix-2.4.0.2-8b7fb1ebcdcb8db413d44db018f084d7"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/ansi-terminal-0.5.3/html/ansi-terminal.haddock"], haddockHTMLs = ["/usr/local/share/doc/ansi-terminal-0.5.3/html"]}])]),(PackageName "ansi-wl-pprint",fromList [(Version {versionBranch = [0,5,1], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "ansi-wl-pprint-0.5.1-22f27bc85096873ab1a93267304717c0", sourcePackageId = PackageIdentifier {pkgName = PackageName "ansi-wl-pprint", pkgVersion = Version {versionBranch = [0,5,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "batterseapower@hotmail.com", author = "Daan Leijen, Max Bolingbroke", stability = "", homepage = "http://github.com/batterseapower/ansi-wl-pprint", pkgUrl = "", description = "This is a pretty printing library based on Wadler's paper \"A Prettier Printer\". It has been enhanced with support for ANSI terminal colored output using the ansi-terminal package.", category = "User Interfaces, Text", exposed = True, exposedModules = [ModuleName ["Text","PrettyPrint","ANSI","Leijen"]], hiddenModules = [], importDirs = ["/usr/local/lib/ansi-wl-pprint-0.5.1/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/ansi-wl-pprint-0.5.1/ghc-6.12.3"], hsLibraries = ["HSansi-wl-pprint-0.5.1"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "ansi-terminal-0.5.3-fef2144db00d62ea2d9da21ec5ca7046",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/ansi-wl-pprint-0.5.1/html/ansi-wl-pprint.haddock"], haddockHTMLs = ["/usr/local/share/doc/ansi-wl-pprint-0.5.1/html"]}])]),(PackageName "array",fromList [(Version {versionBranch = [0,3,0,1], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "array-0.3.0.1-438000c197b51c147f229b54edbf632e", sourcePackageId = PackageIdentifier {pkgName = PackageName "array", pkgVersion = Version {versionBranch = [0,3,0,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package defines the classes @IArray@ of immutable arrays and\n@MArray@ of arrays mutable within appropriate monads, as well as\nsome instances of these classes.", category = "Data Structures", exposed = True, exposedModules = [ModuleName ["Data","Array","Base"],ModuleName ["Data","Array","IArray"],ModuleName ["Data","Array","IO"],ModuleName ["Data","Array","IO","Internals"],ModuleName ["Data","Array","MArray"],ModuleName ["Data","Array","ST"],ModuleName ["Data","Array","Storable"],ModuleName ["Data","Array","Unboxed"],ModuleName ["Data","Array"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/array-0.3.0.1"], libraryDirs = ["/usr/lib/ghc-6.12.3/array-0.3.0.1"], hsLibraries = ["HSarray-0.3.0.1"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/array-0.3.0.1/array.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/array-0.3.0.1"]}])]),(PackageName "base",fromList [(Version {versionBranch = [3,0,3,2], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "base-3.0.3.2-260693a92016991a03206b5a55f6a411", sourcePackageId = PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [3,0,3,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This is a backwards-compatible version of the base package.\nIt depends on a later version of base, and was probably supplied\nwith your compiler when it was installed.", category = "", exposed = True, exposedModules = [ModuleName ["Data","Generics"],ModuleName ["Data","Generics","Aliases"],ModuleName ["Data","Generics","Basics"],ModuleName ["Data","Generics","Instances"],ModuleName ["Data","Generics","Schemes"],ModuleName ["Data","Generics","Text"],ModuleName ["Data","Generics","Twins"],ModuleName ["Foreign","Concurrent"],ModuleName ["GHC","Arr"],ModuleName ["GHC","Base"],ModuleName ["GHC","Conc"],ModuleName ["GHC","ConsoleHandler"],ModuleName ["GHC","Desugar"],ModuleName ["GHC","Dotnet"],ModuleName ["GHC","Enum"],ModuleName ["GHC","Environment"],ModuleName ["GHC","Err"],ModuleName ["GHC","Exception"],ModuleName ["GHC","Exts"],ModuleName ["GHC","Float"],ModuleName ["GHC","ForeignPtr"],ModuleName ["GHC","Handle"],ModuleName ["GHC","IO"],ModuleName ["GHC","IOBase"],ModuleName ["GHC","Int"],ModuleName ["GHC","List"],ModuleName ["GHC","Num"],ModuleName ["GHC","PArr"],ModuleName ["GHC","Pack"],ModuleName ["GHC","Ptr"],ModuleName ["GHC","Read"],ModuleName ["GHC","Real"],ModuleName ["GHC","ST"],ModuleName ["GHC","STRef"],ModuleName ["GHC","Show"],ModuleName ["GHC","Stable"],ModuleName ["GHC","Storable"],ModuleName ["GHC","TopHandler"],ModuleName ["GHC","Unicode"],ModuleName ["GHC","Weak"],ModuleName ["GHC","Word"],ModuleName ["System","Timeout"],ModuleName ["Control","Applicative"],ModuleName ["Control","Arrow"],ModuleName ["Control","Category"],ModuleName ["Control","Concurrent"],ModuleName ["Control","Concurrent","Chan"],ModuleName ["Control","Concurrent","MVar"],ModuleName ["Control","Concurrent","QSem"],ModuleName ["Control","Concurrent","QSemN"],ModuleName ["Control","Concurrent","SampleVar"],ModuleName ["Control","Exception"],ModuleName ["Control","Monad"],ModuleName ["Control","Monad","Fix"],ModuleName ["Control","Monad","Instances"],ModuleName ["Control","Monad","ST"],ModuleName ["Control","Monad","ST","Lazy"],ModuleName ["Control","Monad","ST","Strict"],ModuleName ["Data","Bits"],ModuleName ["Data","Bool"],ModuleName ["Data","Char"],ModuleName ["Data","Complex"],ModuleName ["Data","Dynamic"],ModuleName ["Data","Either"],ModuleName ["Data","Eq"],ModuleName ["Data","Fixed"],ModuleName ["Data","Foldable"],ModuleName ["Data","Function"],ModuleName ["Data","HashTable"],ModuleName ["Data","IORef"],ModuleName ["Data","Int"],ModuleName ["Data","Ix"],ModuleName ["Data","List"],ModuleName ["Data","Maybe"],ModuleName ["Data","Monoid"],ModuleName ["Data","Ord"],ModuleName ["Data","Ratio"],ModuleName ["Data","STRef"],ModuleName ["Data","STRef","Lazy"],ModuleName ["Data","STRef","Strict"],ModuleName ["Data","String"],ModuleName ["Data","Traversable"],ModuleName ["Data","Tuple"],ModuleName ["Data","Typeable"],ModuleName ["Data","Unique"],ModuleName ["Data","Version"],ModuleName ["Data","Word"],ModuleName ["Debug","Trace"],ModuleName ["Foreign"],ModuleName ["Foreign","C"],ModuleName ["Foreign","C","Error"],ModuleName ["Foreign","C","String"],ModuleName ["Foreign","C","Types"],ModuleName ["Foreign","ForeignPtr"],ModuleName ["Foreign","Marshal"],ModuleName ["Foreign","Marshal","Alloc"],ModuleName ["Foreign","Marshal","Array"],ModuleName ["Foreign","Marshal","Error"],ModuleName ["Foreign","Marshal","Pool"],ModuleName ["Foreign","Marshal","Utils"],ModuleName ["Foreign","Ptr"],ModuleName ["Foreign","StablePtr"],ModuleName ["Foreign","Storable"],ModuleName ["Numeric"],ModuleName ["Prelude"],ModuleName ["System","Console","GetOpt"],ModuleName ["System","CPUTime"],ModuleName ["System","Environment"],ModuleName ["System","Exit"],ModuleName ["System","IO"],ModuleName ["System","IO","Error"],ModuleName ["System","IO","Unsafe"],ModuleName ["System","Info"],ModuleName ["System","Mem"],ModuleName ["System","Mem","StableName"],ModuleName ["System","Mem","Weak"],ModuleName ["System","Posix","Internals"],ModuleName ["System","Posix","Types"],ModuleName ["Text","ParserCombinators","ReadP"],ModuleName ["Text","ParserCombinators","ReadPrec"],ModuleName ["Text","Printf"],ModuleName ["Text","Read"],ModuleName ["Text","Read","Lex"],ModuleName ["Text","Show"],ModuleName ["Text","Show","Functions"],ModuleName ["Unsafe","Coerce"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/base-3.0.3.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/base-3.0.3.2"], hsLibraries = ["HSbase-3.0.3.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "syb-0.1.0.2-0917873f366b0be90a48082271223b4e"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/base-3.0.3.2/base.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/base-3.0.3.2"]}]),(Version {versionBranch = [4,2,0,2], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3", sourcePackageId = PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [4,2,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains the Prelude and its support libraries,\nand a large collection of useful libraries ranging from data\nstructures to parsing combinators and debugging utilities.", category = "", exposed = True, exposedModules = [ModuleName ["Foreign","Concurrent"],ModuleName ["GHC","Arr"],ModuleName ["GHC","Base"],ModuleName ["GHC","Classes"],ModuleName ["GHC","Conc"],ModuleName ["GHC","ConsoleHandler"],ModuleName ["GHC","Constants"],ModuleName ["GHC","Desugar"],ModuleName ["GHC","Enum"],ModuleName ["GHC","Environment"],ModuleName ["GHC","Err"],ModuleName ["GHC","Exception"],ModuleName ["GHC","Exts"],ModuleName ["GHC","Float"],ModuleName ["GHC","ForeignPtr"],ModuleName ["GHC","MVar"],ModuleName ["GHC","IO"],ModuleName ["GHC","IO","IOMode"],ModuleName ["GHC","IO","Buffer"],ModuleName ["GHC","IO","Device"],ModuleName ["GHC","IO","BufferedIO"],ModuleName ["GHC","IO","FD"],ModuleName ["GHC","IO","Exception"],ModuleName ["GHC","IO","Encoding"],ModuleName ["GHC","IO","Encoding","Latin1"],ModuleName ["GHC","IO","Encoding","UTF8"],ModuleName ["GHC","IO","Encoding","UTF16"],ModuleName ["GHC","IO","Encoding","UTF32"],ModuleName ["GHC","IO","Encoding","Types"],ModuleName ["GHC","IO","Encoding","Iconv"],ModuleName ["GHC","IO","Encoding","CodePage"],ModuleName ["GHC","IO","Handle"],ModuleName ["GHC","IO","Handle","Types"],ModuleName ["GHC","IO","Handle","Internals"],ModuleName ["GHC","IO","Handle","FD"],ModuleName ["GHC","IO","Handle","Text"],ModuleName ["GHC","IOBase"],ModuleName ["GHC","Handle"],ModuleName ["GHC","IORef"],ModuleName ["GHC","IOArray"],ModuleName ["GHC","Int"],ModuleName ["GHC","List"],ModuleName ["GHC","Num"],ModuleName ["GHC","PArr"],ModuleName ["GHC","Pack"],ModuleName ["GHC","Ptr"],ModuleName ["GHC","Read"],ModuleName ["GHC","Real"],ModuleName ["GHC","ST"],ModuleName ["GHC","STRef"],ModuleName ["GHC","Show"],ModuleName ["GHC","Stable"],ModuleName ["GHC","Storable"],ModuleName ["GHC","TopHandler"],ModuleName ["GHC","Unicode"],ModuleName ["GHC","Weak"],ModuleName ["GHC","Word"],ModuleName ["System","Timeout"],ModuleName ["Control","Applicative"],ModuleName ["Control","Arrow"],ModuleName ["Control","Category"],ModuleName ["Control","Concurrent"],ModuleName ["Control","Concurrent","Chan"],ModuleName ["Control","Concurrent","MVar"],ModuleName ["Control","Concurrent","QSem"],ModuleName ["Control","Concurrent","QSemN"],ModuleName ["Control","Concurrent","SampleVar"],ModuleName ["Control","Exception"],ModuleName ["Control","Exception","Base"],ModuleName ["Control","OldException"],ModuleName ["Control","Monad"],ModuleName ["Control","Monad","Fix"],ModuleName ["Control","Monad","Instances"],ModuleName ["Control","Monad","ST"],ModuleName ["Control","Monad","ST","Lazy"],ModuleName ["Control","Monad","ST","Strict"],ModuleName ["Data","Bits"],ModuleName ["Data","Bool"],ModuleName ["Data","Char"],ModuleName ["Data","Complex"],ModuleName ["Data","Dynamic"],ModuleName ["Data","Either"],ModuleName ["Data","Eq"],ModuleName ["Data","Data"],ModuleName ["Data","Fixed"],ModuleName ["Data","Foldable"],ModuleName ["Data","Function"],ModuleName ["Data","Functor"],ModuleName ["Data","HashTable"],ModuleName ["Data","IORef"],ModuleName ["Data","Int"],ModuleName ["Data","Ix"],ModuleName ["Data","List"],ModuleName ["Data","Maybe"],ModuleName ["Data","Monoid"],ModuleName ["Data","Ord"],ModuleName ["Data","Ratio"],ModuleName ["Data","STRef"],ModuleName ["Data","STRef","Lazy"],ModuleName ["Data","STRef","Strict"],ModuleName ["Data","String"],ModuleName ["Data","Traversable"],ModuleName ["Data","Tuple"],ModuleName ["Data","Typeable"],ModuleName ["Data","Unique"],ModuleName ["Data","Version"],ModuleName ["Data","Word"],ModuleName ["Debug","Trace"],ModuleName ["Foreign"],ModuleName ["Foreign","C"],ModuleName ["Foreign","C","Error"],ModuleName ["Foreign","C","String"],ModuleName ["Foreign","C","Types"],ModuleName ["Foreign","ForeignPtr"],ModuleName ["Foreign","Marshal"],ModuleName ["Foreign","Marshal","Alloc"],ModuleName ["Foreign","Marshal","Array"],ModuleName ["Foreign","Marshal","Error"],ModuleName ["Foreign","Marshal","Pool"],ModuleName ["Foreign","Marshal","Utils"],ModuleName ["Foreign","Ptr"],ModuleName ["Foreign","StablePtr"],ModuleName ["Foreign","Storable"],ModuleName ["Numeric"],ModuleName ["Prelude"],ModuleName ["System","Console","GetOpt"],ModuleName ["System","CPUTime"],ModuleName ["System","Environment"],ModuleName ["System","Exit"],ModuleName ["System","IO"],ModuleName ["System","IO","Error"],ModuleName ["System","IO","Unsafe"],ModuleName ["System","Info"],ModuleName ["System","Mem"],ModuleName ["System","Mem","StableName"],ModuleName ["System","Mem","Weak"],ModuleName ["System","Posix","Internals"],ModuleName ["System","Posix","Types"],ModuleName ["Text","ParserCombinators","ReadP"],ModuleName ["Text","ParserCombinators","ReadPrec"],ModuleName ["Text","Printf"],ModuleName ["Text","Read"],ModuleName ["Text","Read","Lex"],ModuleName ["Text","Show"],ModuleName ["Text","Show","Functions"],ModuleName ["Unsafe","Coerce"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/base-4.2.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/base-4.2.0.2"], hsLibraries = ["HSbase-4.2.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/base-4.2.0.2/include"], includes = ["HsBase.h"], depends = [InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11",InstalledPackageId "integer-gmp-0.2.0.1-72436e28c79d056c87cc0d2d2f9f3773",InstalledPackageId "builtin_rts"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/base-4.2.0.2/base.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/base-4.2.0.2"]}])]),(PackageName "bin-package-db",fromList [(Version {versionBranch = [0,0,0,0], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "bin-package-db-0.0.0.0-0dffb74a73bb78b5dc02ca941bbcbea0", sourcePackageId = PackageIdentifier {pkgName = PackageName "bin-package-db", pkgVersion = Version {versionBranch = [0,0,0,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "cvs-ghc@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "", category = "", exposed = True, exposedModules = [ModuleName ["Distribution","InstalledPackageInfo","Binary"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/bin-package-db-0.0.0.0"], libraryDirs = ["/usr/lib/ghc-6.12.3/bin-package-db-0.0.0.0"], hsLibraries = ["HSbin-package-db-0.0.0.0"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "Cabal-1.8.0.6-fbc519b7543237abfa4d5d0af63aa9bb",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "ghc-binary-0.5.0.2-65e476e80633fdb913f3a18a211c7d06"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/bin-package-db-0.0.0.0/bin-package-db.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/bin-package-db-0.0.0.0"]}])]),(PackageName "bytestring",fromList [(Version {versionBranch = [0,9,1,7], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "bytestring-0.9.1.7-e4f5efe6019d4771130f5cd8d3216b38", sourcePackageId = PackageIdentifier {pkgName = PackageName "bytestring", pkgVersion = Version {versionBranch = [0,9,1,7], versionTags = []}}, license = BSD3, copyright = "Copyright (c) Don Stewart   2005-2009,\n(c) Duncan Coutts 2006-2009,\n(c) David Roundy  2003-2005.", maintainer = "dons@galois.com, duncan@haskell.org", author = "Don Stewart, Duncan Coutts", stability = "", homepage = "http://www.cse.unsw.edu.au/~dons/fps.html", pkgUrl = "", description = "A time and space-efficient implementation of byte vectors using\npacked Word8 arrays, suitable for high performance use, both in terms\nof large data quantities, or high speed requirements. Byte vectors\nare encoded as strict 'Word8' arrays of bytes, and lazy lists of\nstrict chunks, held in a 'ForeignPtr', and can be passed between C\nand Haskell with little effort.\n\nTest coverage data for this library is available at:\n<http://code.haskell.org/~dons/tests/bytestring/hpc_index.html>", category = "Data", exposed = True, exposedModules = [ModuleName ["Data","ByteString"],ModuleName ["Data","ByteString","Char8"],ModuleName ["Data","ByteString","Unsafe"],ModuleName ["Data","ByteString","Internal"],ModuleName ["Data","ByteString","Lazy"],ModuleName ["Data","ByteString","Lazy","Char8"],ModuleName ["Data","ByteString","Lazy","Internal"],ModuleName ["Data","ByteString","Fusion"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/bytestring-0.9.1.7"], libraryDirs = ["/usr/lib/ghc-6.12.3/bytestring-0.9.1.7"], hsLibraries = ["HSbytestring-0.9.1.7"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/bytestring-0.9.1.7/include"], includes = ["fpstring.h"], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/bytestring-0.9.1.7/bytestring.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/bytestring-0.9.1.7"]}])]),(PackageName "containers",fromList [(Version {versionBranch = [0,3,0,0], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379", sourcePackageId = PackageIdentifier {pkgName = PackageName "containers", pkgVersion = Version {versionBranch = [0,3,0,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains efficient general-purpose implementations\nof various basic immutable container types.  The declared cost of\neach operation is either worst-case or amortized, but remains\nvalid even if structures are shared.", category = "Data Structures", exposed = True, exposedModules = [ModuleName ["Data","Graph"],ModuleName ["Data","IntMap"],ModuleName ["Data","IntSet"],ModuleName ["Data","Map"],ModuleName ["Data","Sequence"],ModuleName ["Data","Set"],ModuleName ["Data","Tree"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/containers-0.3.0.0"], libraryDirs = ["/usr/lib/ghc-6.12.3/containers-0.3.0.0"], hsLibraries = ["HScontainers-0.3.0.0"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "array-0.3.0.1-438000c197b51c147f229b54edbf632e",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/containers.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/containers-0.3.0.0"]}])]),(PackageName "directory",fromList [(Version {versionBranch = [1,0,1,1], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "directory-1.0.1.1-f959a158a71fc63ca3822eaf49ec66dc", sourcePackageId = PackageIdentifier {pkgName = PackageName "directory", pkgVersion = Version {versionBranch = [1,0,1,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package provides a library for handling directories.", category = "System", exposed = True, exposedModules = [ModuleName ["System","Directory"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/directory-1.0.1.1"], libraryDirs = ["/usr/lib/ghc-6.12.3/directory-1.0.1.1"], hsLibraries = ["HSdirectory-1.0.1.1"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/directory-1.0.1.1/include"], includes = ["HsDirectory.h"], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "filepath-1.1.0.4-c303c646a99c2a24d2402008d247eb5f",InstalledPackageId "old-time-1.0.0.5-45398fe9d274a4e0177157e25427aeec",InstalledPackageId "unix-2.4.0.2-8b7fb1ebcdcb8db413d44db018f084d7"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/directory-1.0.1.1/directory.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/directory-1.0.1.1"]}])]),(PackageName "extensible-exceptions",fromList [(Version {versionBranch = [0,1,1,1], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "extensible-exceptions-0.1.1.1-28a83091e117b2e719d4a1c4a320a1c8", sourcePackageId = PackageIdentifier {pkgName = PackageName "extensible-exceptions", pkgVersion = Version {versionBranch = [0,1,1,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package provides extensible exceptions for both new and\nold versions of GHC (i.e., < 6.10).", category = "", exposed = True, exposedModules = [ModuleName ["Control","Exception","Extensible"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/extensible-exceptions-0.1.1.1"], libraryDirs = ["/usr/lib/ghc-6.12.3/extensible-exceptions-0.1.1.1"], hsLibraries = ["HSextensible-exceptions-0.1.1.1"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/extensible-exceptions-0.1.1.1/extensible-exceptions.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/extensible-exceptions-0.1.1.1"]}])]),(PackageName "ffi",fromList [(Version {versionBranch = [1,0], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "builtin_ffi", sourcePackageId = PackageIdentifier {pkgName = PackageName "ffi", pkgVersion = Version {versionBranch = [1,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "glasgow-haskell-users@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "", category = "", exposed = True, exposedModules = [], hiddenModules = [], importDirs = [], libraryDirs = ["/usr/lib/ghc-6.12.3"], hsLibraries = ["HSffi"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/include"], includes = [], depends = [], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = [], haddockHTMLs = []}])]),(PackageName "filepath",fromList [(Version {versionBranch = [1,1,0,4], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "filepath-1.1.0.4-c303c646a99c2a24d2402008d247eb5f", sourcePackageId = PackageIdentifier {pkgName = PackageName "filepath", pkgVersion = Version {versionBranch = [1,1,0,4], versionTags = []}}, license = BSD3, copyright = "", maintainer = "", author = "Neil Mitchell", stability = "", homepage = "http://www-users.cs.york.ac.uk/~ndm/filepath/", pkgUrl = "", description = "", category = "System", exposed = True, exposedModules = [ModuleName ["System","FilePath"],ModuleName ["System","FilePath","Posix"],ModuleName ["System","FilePath","Windows"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/filepath-1.1.0.4"], libraryDirs = ["/usr/lib/ghc-6.12.3/filepath-1.1.0.4"], hsLibraries = ["HSfilepath-1.1.0.4"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/filepath-1.1.0.4/filepath.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/filepath-1.1.0.4"]}])]),(PackageName "ghc",fromList [(Version {versionBranch = [6,12,3], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "ghc-6.12.3-32f69115c5a977d5f19f8d159b76363d", sourcePackageId = PackageIdentifier {pkgName = PackageName "ghc", pkgVersion = Version {versionBranch = [6,12,3], versionTags = []}}, license = BSD3, copyright = "", maintainer = "glasgow-haskell-users@haskell.org", author = "The GHC Team", stability = "", homepage = "http://www.haskell.org/ghc/", pkgUrl = "", description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.", category = "Development", exposed = False, exposedModules = [ModuleName ["AsmCodeGen"],ModuleName ["TargetReg"],ModuleName ["NCGMonad"],ModuleName ["Instruction"],ModuleName ["Size"],ModuleName ["Reg"],ModuleName ["RegClass"],ModuleName ["PprBase"],ModuleName ["PIC"],ModuleName ["Platform"],ModuleName ["Alpha","Regs"],ModuleName ["Alpha","RegInfo"],ModuleName ["Alpha","Instr"],ModuleName ["Alpha","CodeGen"],ModuleName ["X86","Regs"],ModuleName ["X86","RegInfo"],ModuleName ["X86","Instr"],ModuleName ["X86","Cond"],ModuleName ["X86","Ppr"],ModuleName ["X86","CodeGen"],ModuleName ["PPC","Regs"],ModuleName ["PPC","RegInfo"],ModuleName ["PPC","Instr"],ModuleName ["PPC","Cond"],ModuleName ["PPC","Ppr"],ModuleName ["PPC","CodeGen"],ModuleName ["SPARC","Base"],ModuleName ["SPARC","Regs"],ModuleName ["SPARC","RegPlate"],ModuleName ["SPARC","Imm"],ModuleName ["SPARC","AddrMode"],ModuleName ["SPARC","Cond"],ModuleName ["SPARC","Instr"],ModuleName ["SPARC","Stack"],ModuleName ["SPARC","ShortcutJump"],ModuleName ["SPARC","Ppr"],ModuleName ["SPARC","CodeGen"],ModuleName ["SPARC","CodeGen","Amode"],ModuleName ["SPARC","CodeGen","Base"],ModuleName ["SPARC","CodeGen","CCall"],ModuleName ["SPARC","CodeGen","CondCode"],ModuleName ["SPARC","CodeGen","Gen32"],ModuleName ["SPARC","CodeGen","Gen64"],ModuleName ["SPARC","CodeGen","Sanity"],ModuleName ["SPARC","CodeGen","Expand"],ModuleName ["RegAlloc","Liveness"],ModuleName ["RegAlloc","Graph","Main"],ModuleName ["RegAlloc","Graph","Stats"],ModuleName ["RegAlloc","Graph","ArchBase"],ModuleName ["RegAlloc","Graph","ArchX86"],ModuleName ["RegAlloc","Graph","Coalesce"],ModuleName ["RegAlloc","Graph","Spill"],ModuleName ["RegAlloc","Graph","SpillClean"],ModuleName ["RegAlloc","Graph","SpillCost"],ModuleName ["RegAlloc","Graph","TrivColorable"],ModuleName ["RegAlloc","Linear","Main"],ModuleName ["RegAlloc","Linear","JoinToTargets"],ModuleName ["RegAlloc","Linear","State"],ModuleName ["RegAlloc","Linear","Stats"],ModuleName ["RegAlloc","Linear","FreeRegs"],ModuleName ["RegAlloc","Linear","StackMap"],ModuleName ["RegAlloc","Linear","Base"],ModuleName ["RegAlloc","Linear","X86","FreeRegs"],ModuleName ["RegAlloc","Linear","PPC","FreeRegs"],ModuleName ["RegAlloc","Linear","SPARC","FreeRegs"],ModuleName ["DsMeta"],ModuleName ["TcSplice"],ModuleName ["Convert"],ModuleName ["ByteCodeAsm"],ModuleName ["ByteCodeFFI"],ModuleName ["ByteCodeGen"],ModuleName ["ByteCodeInstr"],ModuleName ["ByteCodeItbls"],ModuleName ["ByteCodeLink"],ModuleName ["Debugger"],ModuleName ["LibFFI"],ModuleName ["Linker"],ModuleName ["ObjLink"],ModuleName ["RtClosureInspect"],ModuleName ["BasicTypes"],ModuleName ["DataCon"],ModuleName ["Demand"],ModuleName ["Exception"],ModuleName ["Id"],ModuleName ["IdInfo"],ModuleName ["Literal"],ModuleName ["MkId"],ModuleName ["Module"],ModuleName ["Name"],ModuleName ["NameEnv"],ModuleName ["NameSet"],ModuleName ["NewDemand"],ModuleName ["OccName"],ModuleName ["RdrName"],ModuleName ["SrcLoc"],ModuleName ["UniqSupply"],ModuleName ["Unique"],ModuleName ["Var"],ModuleName ["VarEnv"],ModuleName ["VarSet"],ModuleName ["BlockId"],ModuleName ["CLabel"],ModuleName ["Cmm"],ModuleName ["CmmBrokenBlock"],ModuleName ["CmmBuildInfoTables"],ModuleName ["CmmCPS"],ModuleName ["CmmCPSGen"],ModuleName ["CmmCPSZ"],ModuleName ["CmmCallConv"],ModuleName ["CmmCommonBlockElimZ"],ModuleName ["CmmContFlowOpt"],ModuleName ["CmmCvt"],ModuleName ["CmmExpr"],ModuleName ["CmmInfo"],ModuleName ["CmmLex"],ModuleName ["CmmLint"],ModuleName ["CmmLive"],ModuleName ["CmmLiveZ"],ModuleName ["CmmOpt"],ModuleName ["CmmParse"],ModuleName ["CmmProcPoint"],ModuleName ["CmmProcPointZ"],ModuleName ["CmmSpillReload"],ModuleName ["CmmStackLayout"],ModuleName ["CmmTx"],ModuleName ["CmmUtils"],ModuleName ["CmmZipUtil"],ModuleName ["DFMonad"],ModuleName ["Dataflow"],ModuleName ["MkZipCfg"],ModuleName ["MkZipCfgCmm"],ModuleName ["OptimizationFuel"],ModuleName ["PprC"],ModuleName ["PprCmm"],ModuleName ["PprCmmZ"],ModuleName ["StackColor"],ModuleName ["StackPlacements"],ModuleName ["ZipCfg"],ModuleName ["ZipCfgCmmRep"],ModuleName ["ZipCfgExtras"],ModuleName ["ZipDataflow"],ModuleName ["Bitmap"],ModuleName ["CgBindery"],ModuleName ["CgCallConv"],ModuleName ["CgCase"],ModuleName ["CgClosure"],ModuleName ["CgCon"],ModuleName ["CgExpr"],ModuleName ["CgForeignCall"],ModuleName ["CgHeapery"],ModuleName ["CgHpc"],ModuleName ["CgInfoTbls"],ModuleName ["CgLetNoEscape"],ModuleName ["CgMonad"],ModuleName ["CgParallel"],ModuleName ["CgPrimOp"],ModuleName ["CgProf"],ModuleName ["CgStackery"],ModuleName ["CgTailCall"],ModuleName ["CgTicky"],ModuleName ["CgUtils"],ModuleName ["StgCmm"],ModuleName ["StgCmmBind"],ModuleName ["StgCmmClosure"],ModuleName ["StgCmmCon"],ModuleName ["StgCmmEnv"],ModuleName ["StgCmmExpr"],ModuleName ["StgCmmForeign"],ModuleName ["StgCmmGran"],ModuleName ["StgCmmHeap"],ModuleName ["StgCmmHpc"],ModuleName ["StgCmmLayout"],ModuleName ["StgCmmMonad"],ModuleName ["StgCmmPrim"],ModuleName ["StgCmmProf"],ModuleName ["StgCmmTicky"],ModuleName ["StgCmmUtils"],ModuleName ["ClosureInfo"],ModuleName ["CodeGen"],ModuleName ["SMRep"],ModuleName ["CoreArity"],ModuleName ["CoreFVs"],ModuleName ["CoreLint"],ModuleName ["CorePrep"],ModuleName ["CoreSubst"],ModuleName ["CoreSyn"],ModuleName ["CoreTidy"],ModuleName ["CoreUnfold"],ModuleName ["CoreUtils"],ModuleName ["ExternalCore"],ModuleName ["MkCore"],ModuleName ["MkExternalCore"],ModuleName ["PprCore"],ModuleName ["PprExternalCore"],ModuleName ["CprAnalyse"],ModuleName ["Check"],ModuleName ["Coverage"],ModuleName ["Desugar"],ModuleName ["DsArrows"],ModuleName ["DsBinds"],ModuleName ["DsCCall"],ModuleName ["DsExpr"],ModuleName ["DsForeign"],ModuleName ["DsGRHSs"],ModuleName ["DsListComp"],ModuleName ["DsMonad"],ModuleName ["DsUtils"],ModuleName ["Match"],ModuleName ["MatchCon"],ModuleName ["MatchLit"],ModuleName ["HsBinds"],ModuleName ["HsDecls"],ModuleName ["HsDoc"],ModuleName ["HsExpr"],ModuleName ["HsImpExp"],ModuleName ["HsLit"],ModuleName ["HsPat"],ModuleName ["HsSyn"],ModuleName ["HsTypes"],ModuleName ["HsUtils"],ModuleName ["BinIface"],ModuleName ["BuildTyCl"],ModuleName ["IfaceEnv"],ModuleName ["IfaceSyn"],ModuleName ["IfaceType"],ModuleName ["LoadIface"],ModuleName ["MkIface"],ModuleName ["TcIface"],ModuleName ["Annotations"],ModuleName ["BreakArray"],ModuleName ["CmdLineParser"],ModuleName ["CodeOutput"],ModuleName ["Config"],ModuleName ["Constants"],ModuleName ["DriverMkDepend"],ModuleName ["DriverPhases"],ModuleName ["DriverPipeline"],ModuleName ["DynFlags"],ModuleName ["ErrUtils"],ModuleName ["Finder"],ModuleName ["GHC"],ModuleName ["HeaderInfo"],ModuleName ["HscMain"],ModuleName ["HscStats"],ModuleName ["HscTypes"],ModuleName ["InteractiveEval"],ModuleName ["PackageConfig"],ModuleName ["Packages"],ModuleName ["PprTyThing"],ModuleName ["StaticFlags"],ModuleName ["StaticFlagParser"],ModuleName ["SysTools"],ModuleName ["TidyPgm"],ModuleName ["Ctype"],ModuleName ["HaddockUtils"],ModuleName ["LexCore"],ModuleName ["Lexer"],ModuleName ["Parser"],ModuleName ["ParserCore"],ModuleName ["ParserCoreUtils"],ModuleName ["RdrHsSyn"],ModuleName ["ForeignCall"],ModuleName ["PrelInfo"],ModuleName ["PrelNames"],ModuleName ["PrelRules"],ModuleName ["PrimOp"],ModuleName ["TysPrim"],ModuleName ["TysWiredIn"],ModuleName ["CostCentre"],ModuleName ["SCCfinal"],ModuleName ["RnBinds"],ModuleName ["RnEnv"],ModuleName ["RnExpr"],ModuleName ["RnHsDoc"],ModuleName ["RnHsSyn"],ModuleName ["RnNames"],ModuleName ["RnPat"],ModuleName ["RnSource"],ModuleName ["RnTypes"],ModuleName ["CoreMonad"],ModuleName ["CSE"],ModuleName ["FloatIn"],ModuleName ["FloatOut"],ModuleName ["LiberateCase"],ModuleName ["OccurAnal"],ModuleName ["SAT"],ModuleName ["SetLevels"],ModuleName ["SimplCore"],ModuleName ["SimplEnv"],ModuleName ["SimplMonad"],ModuleName ["SimplUtils"],ModuleName ["Simplify"],ModuleName ["SRT"],ModuleName ["SimplStg"],ModuleName ["StgStats"],ModuleName ["Rules"],ModuleName ["SpecConstr"],ModuleName ["Specialise"],ModuleName ["CoreToStg"],ModuleName ["StgLint"],ModuleName ["StgSyn"],ModuleName ["DmdAnal"],ModuleName ["SaAbsInt"],ModuleName ["SaLib"],ModuleName ["StrictAnal"],ModuleName ["WorkWrap"],ModuleName ["WwLib"],ModuleName ["FamInst"],ModuleName ["Inst"],ModuleName ["TcAnnotations"],ModuleName ["TcArrows"],ModuleName ["TcBinds"],ModuleName ["TcClassDcl"],ModuleName ["TcDefaults"],ModuleName ["TcDeriv"],ModuleName ["TcEnv"],ModuleName ["TcExpr"],ModuleName ["TcForeign"],ModuleName ["TcGenDeriv"],ModuleName ["TcHsSyn"],ModuleName ["TcHsType"],ModuleName ["TcInstDcls"],ModuleName ["TcMType"],ModuleName ["TcMatches"],ModuleName ["TcPat"],ModuleName ["TcRnDriver"],ModuleName ["TcRnMonad"],ModuleName ["TcRnTypes"],ModuleName ["TcRules"],ModuleName ["TcSimplify"],ModuleName ["TcTyClsDecls"],ModuleName ["TcTyDecls"],ModuleName ["TcTyFuns"],ModuleName ["TcType"],ModuleName ["TcUnify"],ModuleName ["Class"],ModuleName ["Coercion"],ModuleName ["FamInstEnv"],ModuleName ["FunDeps"],ModuleName ["Generics"],ModuleName ["InstEnv"],ModuleName ["TyCon"],ModuleName ["Type"],ModuleName ["TypeRep"],ModuleName ["Unify"],ModuleName ["Bag"],ModuleName ["Binary"],ModuleName ["BufWrite"],ModuleName ["Digraph"],ModuleName ["Encoding"],ModuleName ["FastBool"],ModuleName ["FastFunctions"],ModuleName ["FastMutInt"],ModuleName ["FastString"],ModuleName ["FastTypes"],ModuleName ["Fingerprint"],ModuleName ["FiniteMap"],ModuleName ["GraphBase"],ModuleName ["GraphColor"],ModuleName ["GraphOps"],ModuleName ["GraphPpr"],ModuleName ["IOEnv"],ModuleName ["Interval"],ModuleName ["LazyUniqFM"],ModuleName ["ListSetOps"],ModuleName ["Maybes"],ModuleName ["MonadUtils"],ModuleName ["OrdList"],ModuleName ["Outputable"],ModuleName ["Panic"],ModuleName ["Pretty"],ModuleName ["Serialized"],ModuleName ["State"],ModuleName ["StringBuffer"],ModuleName ["UniqFM"],ModuleName ["UniqSet"],ModuleName ["Util"],ModuleName ["VectBuiltIn"],ModuleName ["VectCore"],ModuleName ["VectMonad"],ModuleName ["VectType"],ModuleName ["VectUtils"],ModuleName ["Vectorise"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/ghc-6.12.3"], libraryDirs = ["/usr/lib/ghc-6.12.3/ghc-6.12.3"], hsLibraries = ["HSghc-6.12.3"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/ghc-6.12.3/include"], includes = [], depends = [InstalledPackageId "Cabal-1.8.0.6-fbc519b7543237abfa4d5d0af63aa9bb",InstalledPackageId "array-0.3.0.1-438000c197b51c147f229b54edbf632e",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "bin-package-db-0.0.0.0-0dffb74a73bb78b5dc02ca941bbcbea0",InstalledPackageId "bytestring-0.9.1.7-e4f5efe6019d4771130f5cd8d3216b38",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379",InstalledPackageId "directory-1.0.1.1-f959a158a71fc63ca3822eaf49ec66dc",InstalledPackageId "filepath-1.1.0.4-c303c646a99c2a24d2402008d247eb5f",InstalledPackageId "hpc-0.5.0.5-3f3ed89da2117953d6ef3acc2332a32b",InstalledPackageId "old-time-1.0.0.5-45398fe9d274a4e0177157e25427aeec",InstalledPackageId "process-1.0.1.3-73f46aa4e6bf1a4f2f418a3c761e4e80",InstalledPackageId "template-haskell-2.4.0.1-bf08798b1934e4d6a3f903f58e0d5159",InstalledPackageId "unix-2.4.0.2-8b7fb1ebcdcb8db413d44db018f084d7"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/ghc-6.12.3/ghc.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/ghc-6.12.3"]}])]),(PackageName "ghc-binary",fromList [(Version {versionBranch = [0,5,0,2], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "ghc-binary-0.5.0.2-65e476e80633fdb913f3a18a211c7d06", sourcePackageId = PackageIdentifier {pkgName = PackageName "ghc-binary", pkgVersion = Version {versionBranch = [0,5,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "Lennart Kolmodin, Don Stewart <dons@galois.com>", author = "Lennart Kolmodin <kolmodin@dtek.chalmers.se>", stability = "provisional", homepage = "http://code.haskell.org/binary/", pkgUrl = "", description = "Efficient, pure binary serialisation using lazy ByteStrings.\nHaskell values may be encoded to and from binary formats,\nwritten to disk as binary, or sent over the network.\nSerialisation speeds of over 1 G\\/sec have been observed,\nso this library should be suitable for high performance\nscenarios.", category = "Data, Parsing", exposed = False, exposedModules = [ModuleName ["Data","Binary"],ModuleName ["Data","Binary","Put"],ModuleName ["Data","Binary","Get"],ModuleName ["Data","Binary","Builder"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/ghc-binary-0.5.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/ghc-binary-0.5.0.2"], hsLibraries = ["HSghc-binary-0.5.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "array-0.3.0.1-438000c197b51c147f229b54edbf632e",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "bytestring-0.9.1.7-e4f5efe6019d4771130f5cd8d3216b38",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/ghc-binary-0.5.0.2/ghc-binary.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/ghc-binary-0.5.0.2"]}])]),(PackageName "ghc-paths",fromList [(Version {versionBranch = [0,1,0,6], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "ghc-paths-0.1.0.6-b2ea980bf1438334c19ec3c8f61af91b", sourcePackageId = PackageIdentifier {pkgName = PackageName "ghc-paths", pkgVersion = Version {versionBranch = [0,1,0,6], versionTags = []}}, license = BSD3, copyright = "(c) Simon Marlow", maintainer = "Simon Marlow <marlowsd@gmail.com>", author = "Simon Marlow", stability = "stable", homepage = "", pkgUrl = "", description = "Knowledge of GHC's installation directories", category = "Development", exposed = True, exposedModules = [ModuleName ["GHC","Paths"]], hiddenModules = [], importDirs = ["/usr/local/lib/ghc-paths-0.1.0.6/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/ghc-paths-0.1.0.6/ghc-6.12.3"], hsLibraries = ["HSghc-paths-0.1.0.6"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/ghc-paths-0.1.0.6/html/ghc-paths.haddock"], haddockHTMLs = ["/usr/local/share/doc/ghc-paths-0.1.0.6/html"]}])]),(PackageName "ghc-prim",fromList [(Version {versionBranch = [0,2,0,0], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11", sourcePackageId = PackageIdentifier {pkgName = PackageName "ghc-prim", pkgVersion = Version {versionBranch = [0,2,0,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "GHC primitives.", category = "", exposed = True, exposedModules = [ModuleName ["GHC","Prim"],ModuleName ["GHC","Bool"],ModuleName ["GHC","Debug"],ModuleName ["GHC","Generics"],ModuleName ["GHC","Ordering"],ModuleName ["GHC","PrimopWrappers"],ModuleName ["GHC","IntWord32"],ModuleName ["GHC","IntWord64"],ModuleName ["GHC","Tuple"],ModuleName ["GHC","Types"],ModuleName ["GHC","Unit"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/ghc-prim-0.2.0.0"], libraryDirs = ["/usr/lib/ghc-6.12.3/ghc-prim-0.2.0.0"], hsLibraries = ["HSghc-prim-0.2.0.0"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "builtin_rts"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/ghc-prim.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0"]}])]),(PackageName "haskeline",fromList [(Version {versionBranch = [0,6,2,3], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "haskeline-0.6.2.3-1a278dc8a73e7514516cc642a37fc141", sourcePackageId = PackageIdentifier {pkgName = PackageName "haskeline", pkgVersion = Version {versionBranch = [0,6,2,3], versionTags = []}}, license = BSD3, copyright = "(c) Judah Jacobson", maintainer = "Judah Jacobson <judah.jacobson@gmail.com>", author = "Judah Jacobson", stability = "Experimental", homepage = "http://trac.haskell.org/haskeline", pkgUrl = "", description = "Haskeline provides a user interface for line input in command-line\nprograms.  This library is similar in purpose to readline, but since\nit is written in Haskell it is (hopefully) more easily used in other\nHaskell programs.\n\nHaskeline runs both on POSIX-compatible systems and on Windows.", category = "User Interfaces", exposed = True, exposedModules = [ModuleName ["System","Console","Haskeline"],ModuleName ["System","Console","Haskeline","Completion"],ModuleName ["System","Console","Haskeline","Encoding"],ModuleName ["System","Console","Haskeline","MonadException"],ModuleName ["System","Console","Haskeline","History"],ModuleName ["System","Console","Haskeline","IO"]], hiddenModules = [ModuleName ["System","Console","Haskeline","Backend","Terminfo"],ModuleName ["System","Console","Haskeline","Backend","WCWidth"],ModuleName ["System","Console","Haskeline","Backend","Posix"],ModuleName ["System","Console","Haskeline","Backend","IConv"],ModuleName ["System","Console","Haskeline","Backend","DumbTerm"],ModuleName ["System","Console","Haskeline","Backend"],ModuleName ["System","Console","Haskeline","Command"],ModuleName ["System","Console","Haskeline","Command","Completion"],ModuleName ["System","Console","Haskeline","Command","History"],ModuleName ["System","Console","Haskeline","Command","KillRing"],ModuleName ["System","Console","Haskeline","Directory"],ModuleName ["System","Console","Haskeline","Emacs"],ModuleName ["System","Console","Haskeline","InputT"],ModuleName ["System","Console","Haskeline","Key"],ModuleName ["System","Console","Haskeline","LineState"],ModuleName ["System","Console","Haskeline","Monads"],ModuleName ["System","Console","Haskeline","Prefs"],ModuleName ["System","Console","Haskeline","RunCommand"],ModuleName ["System","Console","Haskeline","Term"],ModuleName ["System","Console","Haskeline","Command","Undo"],ModuleName ["System","Console","Haskeline","Vi"]], importDirs = ["/usr/local/lib/haskeline-0.6.2.3/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/haskeline-0.6.2.3/ghc-6.12.3"], hsLibraries = ["HShaskeline-0.6.2.3"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/local/lib/haskeline-0.6.2.3/ghc-6.12.3/include"], includes = ["h_iconv.h"], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "bytestring-0.9.1.7-e4f5efe6019d4771130f5cd8d3216b38",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379",InstalledPackageId "directory-1.0.1.1-f959a158a71fc63ca3822eaf49ec66dc",InstalledPackageId "extensible-exceptions-0.1.1.1-28a83091e117b2e719d4a1c4a320a1c8",InstalledPackageId "filepath-1.1.0.4-c303c646a99c2a24d2402008d247eb5f",InstalledPackageId "mtl-1.1.0.2-174e84f60f8c2192a4ee7d2ff2833953",InstalledPackageId "terminfo-0.3.1.3-cb5c013f461e807c42d7ab88cb71abc6",InstalledPackageId "unix-2.4.0.2-8b7fb1ebcdcb8db413d44db018f084d7",InstalledPackageId "utf8-string-0.3.6-b308ad9fc2d24291fe4fbf9384c576a8"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/haskeline-0.6.2.3/html/haskeline.haddock"], haddockHTMLs = ["/usr/local/share/doc/haskeline-0.6.2.3/html"]}])]),(PackageName "haskell98",fromList [(Version {versionBranch = [1,0,1,1], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "haskell98-1.0.1.1-4d2891ad99eae334ff8234bcfbddce06", sourcePackageId = PackageIdentifier {pkgName = PackageName "haskell98", pkgVersion = Version {versionBranch = [1,0,1,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "http://www.haskell.org/definition/", pkgUrl = "", description = "This package provides compatibility with the modules of Haskell\n98 and the FFI addendum, by means of wrappers around modules from\nthe base package (which in many cases have additional features).\nHowever Prelude, Numeric and Foreign are provided directly by\nthe base package.", category = "", exposed = True, exposedModules = [ModuleName ["Array"],ModuleName ["CPUTime"],ModuleName ["Char"],ModuleName ["Complex"],ModuleName ["Directory"],ModuleName ["IO"],ModuleName ["Ix"],ModuleName ["List"],ModuleName ["Locale"],ModuleName ["Maybe"],ModuleName ["Monad"],ModuleName ["Random"],ModuleName ["Ratio"],ModuleName ["System"],ModuleName ["Time"],ModuleName ["Bits"],ModuleName ["CError"],ModuleName ["CForeign"],ModuleName ["CString"],ModuleName ["CTypes"],ModuleName ["ForeignPtr"],ModuleName ["Int"],ModuleName ["MarshalAlloc"],ModuleName ["MarshalArray"],ModuleName ["MarshalError"],ModuleName ["MarshalUtils"],ModuleName ["Ptr"],ModuleName ["StablePtr"],ModuleName ["Storable"],ModuleName ["Word"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/haskell98-1.0.1.1"], libraryDirs = ["/usr/lib/ghc-6.12.3/haskell98-1.0.1.1"], hsLibraries = ["HShaskell98-1.0.1.1"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "array-0.3.0.1-438000c197b51c147f229b54edbf632e",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "directory-1.0.1.1-f959a158a71fc63ca3822eaf49ec66dc",InstalledPackageId "old-locale-1.0.0.2-0c1a4b40f2d3b9f6b725f54c00fe0923",InstalledPackageId "old-time-1.0.0.5-45398fe9d274a4e0177157e25427aeec",InstalledPackageId "process-1.0.1.3-73f46aa4e6bf1a4f2f418a3c761e4e80",InstalledPackageId "random-1.0.0.2-f4208c3677aeaaaf41e4d36309c0b4ff"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/haskell98-1.0.1.1/haskell98.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/haskell98-1.0.1.1"]}])]),(PackageName "hostname",fromList [(Version {versionBranch = [1,0], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "hostname-1.0-2c66f7cd5b0181bf74c587fea84c34ad", sourcePackageId = PackageIdentifier {pkgName = PackageName "hostname", pkgVersion = Version {versionBranch = [1,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "Max Bolingbroke <batterseapower@hotmail.com>", author = "Max Bolingbroke <batterseapower@hotmail.com>", stability = "", homepage = "", pkgUrl = "", description = "", category = "Network", exposed = True, exposedModules = [ModuleName ["Network","HostName"]], hiddenModules = [], importDirs = ["/usr/local/lib/hostname-1.0/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/hostname-1.0/ghc-6.12.3"], hsLibraries = ["HShostname-1.0"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/hostname-1.0/html/hostname.haddock"], haddockHTMLs = ["/usr/local/share/doc/hostname-1.0/html"]}])]),(PackageName "hpc",fromList [(Version {versionBranch = [0,5,0,5], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "hpc-0.5.0.5-3f3ed89da2117953d6ef3acc2332a32b", sourcePackageId = PackageIdentifier {pkgName = PackageName "hpc", pkgVersion = Version {versionBranch = [0,5,0,5], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "Andy Gill", stability = "", homepage = "", pkgUrl = "", description = "", category = "Control", exposed = True, exposedModules = [ModuleName ["Trace","Hpc","Util"],ModuleName ["Trace","Hpc","Mix"],ModuleName ["Trace","Hpc","Tix"],ModuleName ["Trace","Hpc","Reflect"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/hpc-0.5.0.5"], libraryDirs = ["/usr/lib/ghc-6.12.3/hpc-0.5.0.5"], hsLibraries = ["HShpc-0.5.0.5"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379",InstalledPackageId "directory-1.0.1.1-f959a158a71fc63ca3822eaf49ec66dc",InstalledPackageId "old-time-1.0.0.5-45398fe9d274a4e0177157e25427aeec"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/hpc-0.5.0.5/hpc.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/hpc-0.5.0.5"]}])]),(PackageName "integer-gmp",fromList [(Version {versionBranch = [0,2,0,1], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "integer-gmp-0.2.0.1-72436e28c79d056c87cc0d2d2f9f3773", sourcePackageId = PackageIdentifier {pkgName = PackageName "integer-gmp", pkgVersion = Version {versionBranch = [0,2,0,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains an Integer library based on GMP.", category = "", exposed = True, exposedModules = [ModuleName ["GHC","Integer"],ModuleName ["GHC","Integer","GMP","Internals"]], hiddenModules = [ModuleName ["GHC","Integer","Type"]], importDirs = ["/usr/lib/ghc-6.12.3/integer-gmp-0.2.0.1"], libraryDirs = ["/usr/lib/ghc-6.12.3/integer-gmp-0.2.0.1"], hsLibraries = ["HSinteger-gmp-0.2.0.1"], extraLibraries = ["gmp"], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/integer-gmp-0.2.0.1/integer-gmp.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/integer-gmp-0.2.0.1"]}])]),(PackageName "mtl",fromList [(Version {versionBranch = [1,1,0,2], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "mtl-1.1.0.2-174e84f60f8c2192a4ee7d2ff2833953", sourcePackageId = PackageIdentifier {pkgName = PackageName "mtl", pkgVersion = Version {versionBranch = [1,1,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "Andy Gill", stability = "", homepage = "", pkgUrl = "", description = "A monad transformer library, inspired by the paper /Functional\nProgramming with Overloading and Higher-Order Polymorphism/,\nby Mark P Jones (<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>),\nAdvanced School of Functional Programming, 1995.", category = "Control", exposed = True, exposedModules = [ModuleName ["Control","Monad","Cont"],ModuleName ["Control","Monad","Cont","Class"],ModuleName ["Control","Monad","Error"],ModuleName ["Control","Monad","Error","Class"],ModuleName ["Control","Monad","Identity"],ModuleName ["Control","Monad","List"],ModuleName ["Control","Monad","RWS"],ModuleName ["Control","Monad","RWS","Class"],ModuleName ["Control","Monad","RWS","Lazy"],ModuleName ["Control","Monad","RWS","Strict"],ModuleName ["Control","Monad","Reader"],ModuleName ["Control","Monad","Reader","Class"],ModuleName ["Control","Monad","State"],ModuleName ["Control","Monad","State","Class"],ModuleName ["Control","Monad","State","Lazy"],ModuleName ["Control","Monad","State","Strict"],ModuleName ["Control","Monad","Trans"],ModuleName ["Control","Monad","Writer"],ModuleName ["Control","Monad","Writer","Class"],ModuleName ["Control","Monad","Writer","Lazy"],ModuleName ["Control","Monad","Writer","Strict"]], hiddenModules = [], importDirs = ["/usr/local/lib/mtl-1.1.0.2/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/mtl-1.1.0.2/ghc-6.12.3"], hsLibraries = ["HSmtl-1.1.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-3.0.3.2-260693a92016991a03206b5a55f6a411"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/mtl-1.1.0.2/html/mtl.haddock"], haddockHTMLs = ["/usr/local/share/doc/mtl-1.1.0.2/html"]}])]),(PackageName "old-locale",fromList [(Version {versionBranch = [1,0,0,2], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "old-locale-1.0.0.2-0c1a4b40f2d3b9f6b725f54c00fe0923", sourcePackageId = PackageIdentifier {pkgName = PackageName "old-locale", pkgVersion = Version {versionBranch = [1,0,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package provides the old locale library.\nFor new code, the new locale library is recommended.", category = "System", exposed = True, exposedModules = [ModuleName ["System","Locale"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/old-locale-1.0.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/old-locale-1.0.0.2"], hsLibraries = ["HSold-locale-1.0.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/old-locale-1.0.0.2/old-locale.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/old-locale-1.0.0.2"]}])]),(PackageName "old-time",fromList [(Version {versionBranch = [1,0,0,5], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "old-time-1.0.0.5-45398fe9d274a4e0177157e25427aeec", sourcePackageId = PackageIdentifier {pkgName = PackageName "old-time", pkgVersion = Version {versionBranch = [1,0,0,5], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package provides the old time library.\nFor new code, the new time library is recommended.", category = "System", exposed = True, exposedModules = [ModuleName ["System","Time"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/old-time-1.0.0.5"], libraryDirs = ["/usr/lib/ghc-6.12.3/old-time-1.0.0.5"], hsLibraries = ["HSold-time-1.0.0.5"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/old-time-1.0.0.5/include"], includes = ["HsTime.h"], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "old-locale-1.0.0.2-0c1a4b40f2d3b9f6b725f54c00fe0923"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/old-time-1.0.0.5/old-time.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/old-time-1.0.0.5"]}])]),(PackageName "parsec",fromList [(Version {versionBranch = [3,1,0], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "parsec-3.1.0-0b5a7b7a7908010571b77863283c11a0", sourcePackageId = PackageIdentifier {pkgName = PackageName "parsec", pkgVersion = Version {versionBranch = [3,1,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "Derek Elkins <derek.a.elkins@gmail.com>", author = "Daan Leijen <daan@microsoft.com>, Paolo Martini <paolo@nemail.it>", stability = "", homepage = "http://www.cs.uu.nl/~daan/parsec.html", pkgUrl = "", description = "Parsec is designed from scratch as an industrial-strength parser\nlibrary.  It is simple, safe, well documented (on the package\nhomepage), has extensive libraries and good error messages,\nand is also fast.  It is defined as a monad transformer that can be\nstacked on arbitrary monads, and it is also parametric in the\ninput stream type.", category = "Parsing", exposed = True, exposedModules = [ModuleName ["Text","Parsec"],ModuleName ["Text","Parsec","String"],ModuleName ["Text","Parsec","ByteString"],ModuleName ["Text","Parsec","ByteString","Lazy"],ModuleName ["Text","Parsec","Pos"],ModuleName ["Text","Parsec","Error"],ModuleName ["Text","Parsec","Prim"],ModuleName ["Text","Parsec","Char"],ModuleName ["Text","Parsec","Combinator"],ModuleName ["Text","Parsec","Token"],ModuleName ["Text","Parsec","Expr"],ModuleName ["Text","Parsec","Language"],ModuleName ["Text","Parsec","Perm"],ModuleName ["Text","ParserCombinators","Parsec"],ModuleName ["Text","ParserCombinators","Parsec","Char"],ModuleName ["Text","ParserCombinators","Parsec","Combinator"],ModuleName ["Text","ParserCombinators","Parsec","Error"],ModuleName ["Text","ParserCombinators","Parsec","Expr"],ModuleName ["Text","ParserCombinators","Parsec","Language"],ModuleName ["Text","ParserCombinators","Parsec","Perm"],ModuleName ["Text","ParserCombinators","Parsec","Pos"],ModuleName ["Text","ParserCombinators","Parsec","Prim"],ModuleName ["Text","ParserCombinators","Parsec","Token"]], hiddenModules = [], importDirs = ["/usr/local/lib/parsec-3.1.0/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/parsec-3.1.0/ghc-6.12.3"], hsLibraries = ["HSparsec-3.1.0"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "bytestring-0.9.1.7-e4f5efe6019d4771130f5cd8d3216b38",InstalledPackageId "mtl-1.1.0.2-174e84f60f8c2192a4ee7d2ff2833953",InstalledPackageId "syb-0.1.0.2-0917873f366b0be90a48082271223b4e"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/parsec-3.1.0/html/parsec.haddock"], haddockHTMLs = ["/usr/local/share/doc/parsec-3.1.0/html"]}])]),(PackageName "pretty",fromList [(Version {versionBranch = [1,0,1,1], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "pretty-1.0.1.1-cde327683d86c8644fc9073c368cc5ea", sourcePackageId = PackageIdentifier {pkgName = PackageName "pretty", pkgVersion = Version {versionBranch = [1,0,1,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains John Hughes's pretty-printing library,\nheavily modified by Simon Peyton Jones.", category = "Text", exposed = True, exposedModules = [ModuleName ["Text","PrettyPrint"],ModuleName ["Text","PrettyPrint","HughesPJ"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/pretty-1.0.1.1"], libraryDirs = ["/usr/lib/ghc-6.12.3/pretty-1.0.1.1"], hsLibraries = ["HSpretty-1.0.1.1"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/pretty-1.0.1.1/pretty.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/pretty-1.0.1.1"]}])]),(PackageName "process",fromList [(Version {versionBranch = [1,0,1,3], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "process-1.0.1.3-73f46aa4e6bf1a4f2f418a3c761e4e80", sourcePackageId = PackageIdentifier {pkgName = PackageName "process", pkgVersion = Version {versionBranch = [1,0,1,3], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains libraries for dealing with system processes.", category = "System", exposed = True, exposedModules = [ModuleName ["System","Process","Internals"],ModuleName ["System","Process"],ModuleName ["System","Cmd"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/process-1.0.1.3"], libraryDirs = ["/usr/lib/ghc-6.12.3/process-1.0.1.3"], hsLibraries = ["HSprocess-1.0.1.3"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/process-1.0.1.3/include"], includes = ["runProcess.h"], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "directory-1.0.1.1-f959a158a71fc63ca3822eaf49ec66dc",InstalledPackageId "filepath-1.1.0.4-c303c646a99c2a24d2402008d247eb5f",InstalledPackageId "unix-2.4.0.2-8b7fb1ebcdcb8db413d44db018f084d7"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/process-1.0.1.3/process.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/process-1.0.1.3"]}])]),(PackageName "random",fromList [(Version {versionBranch = [1,0,0,2], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "random-1.0.0.2-f4208c3677aeaaaf41e4d36309c0b4ff", sourcePackageId = PackageIdentifier {pkgName = PackageName "random", pkgVersion = Version {versionBranch = [1,0,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package provides a random number library.", category = "System", exposed = True, exposedModules = [ModuleName ["System","Random"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/random-1.0.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/random-1.0.0.2"], hsLibraries = ["HSrandom-1.0.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "time-1.1.4-d9f7b7932dc3a4863006ed6b1d525856"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/random-1.0.0.2/random.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/random-1.0.0.2"]}])]),(PackageName "regex-base",fromList [(Version {versionBranch = [0,93,2], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "regex-base-0.93.2-93d41c404776e7153a3c56abb15299c9", sourcePackageId = PackageIdentifier {pkgName = PackageName "regex-base", pkgVersion = Version {versionBranch = [0,93,2], versionTags = []}}, license = BSD3, copyright = "Copyright (c) 2006, Christopher Kuklewicz", maintainer = "TextRegexLazy@personal.mightyreason.com", author = "Christopher Kuklewicz", stability = "Seems to work, passes a few tests", homepage = "http://sourceforge.net/projects/lazy-regex", pkgUrl = "http://darcs.haskell.org/packages/regex-unstable/regex-base/", description = "Interface API for regex-posix,pcre,parsec,tdfa,dfa", category = "Text", exposed = True, exposedModules = [ModuleName ["Text","Regex","Base"],ModuleName ["Text","Regex","Base","RegexLike"],ModuleName ["Text","Regex","Base","Context"],ModuleName ["Text","Regex","Base","Impl"]], hiddenModules = [], importDirs = ["/usr/local/lib/regex-base-0.93.2/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/regex-base-0.93.2/ghc-6.12.3"], hsLibraries = ["HSregex-base-0.93.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "array-0.3.0.1-438000c197b51c147f229b54edbf632e",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "bytestring-0.9.1.7-e4f5efe6019d4771130f5cd8d3216b38",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379",InstalledPackageId "mtl-1.1.0.2-174e84f60f8c2192a4ee7d2ff2833953"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/regex-base-0.93.2/html/regex-base.haddock"], haddockHTMLs = ["/usr/local/share/doc/regex-base-0.93.2/html"]}])]),(PackageName "regex-posix",fromList [(Version {versionBranch = [0,94,4], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "regex-posix-0.94.4-5ed6ccc70c49d2e1b9b251b87c2ada2a", sourcePackageId = PackageIdentifier {pkgName = PackageName "regex-posix", pkgVersion = Version {versionBranch = [0,94,4], versionTags = []}}, license = BSD3, copyright = "Copyright (c) 2007-2010, Christopher Kuklewicz", maintainer = "TextRegexLazy@personal.mightyreason.com", author = "Christopher Kuklewicz", stability = "Seems to work, passes a few tests", homepage = "http://sourceforge.net/projects/lazy-regex", pkgUrl = "http://code.haskell.org/regex-posix/", description = "The posix regex backend for regex-base", category = "Text", exposed = True, exposedModules = [ModuleName ["Text","Regex","Posix"],ModuleName ["Text","Regex","Posix","Wrap"],ModuleName ["Text","Regex","Posix","String"],ModuleName ["Text","Regex","Posix","Sequence"],ModuleName ["Text","Regex","Posix","ByteString"],ModuleName ["Text","Regex","Posix","ByteString","Lazy"]], hiddenModules = [], importDirs = ["/usr/local/lib/regex-posix-0.94.4/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/regex-posix-0.94.4/ghc-6.12.3"], hsLibraries = ["HSregex-posix-0.94.4"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "array-0.3.0.1-438000c197b51c147f229b54edbf632e",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "bytestring-0.9.1.7-e4f5efe6019d4771130f5cd8d3216b38",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379",InstalledPackageId "regex-base-0.93.2-93d41c404776e7153a3c56abb15299c9"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/regex-posix-0.94.4/html/regex-posix.haddock"], haddockHTMLs = ["/usr/local/share/doc/regex-posix-0.94.4/html"]}])]),(PackageName "rts",fromList [(Version {versionBranch = [1,0], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "builtin_rts", sourcePackageId = PackageIdentifier {pkgName = PackageName "rts", pkgVersion = Version {versionBranch = [1,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "glasgow-haskell-users@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "", category = "", exposed = True, exposedModules = [], hiddenModules = [], importDirs = [], libraryDirs = ["/usr/lib/ghc-6.12.3"], hsLibraries = ["HSrts"], extraLibraries = ["m","rt","dl"], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/include"], includes = ["Stg.h"], depends = [InstalledPackageId "builtin_ffi"], hugsOptions = [], ccOptions = [], ldOptions = ["-u","ghczmprim_GHCziTypes_Izh_static_info","-u","ghczmprim_GHCziTypes_Czh_static_info","-u","ghczmprim_GHCziTypes_Fzh_static_info","-u","ghczmprim_GHCziTypes_Dzh_static_info","-u","base_GHCziPtr_Ptr_static_info","-u","base_GHCziWord_Wzh_static_info","-u","base_GHCziInt_I8zh_static_info","-u","base_GHCziInt_I16zh_static_info","-u","base_GHCziInt_I32zh_static_info","-u","base_GHCziInt_I64zh_static_info","-u","base_GHCziWord_W8zh_static_info","-u","base_GHCziWord_W16zh_static_info","-u","base_GHCziWord_W32zh_static_info","-u","base_GHCziWord_W64zh_static_info","-u","base_GHCziStable_StablePtr_static_info","-u","ghczmprim_GHCziTypes_Izh_con_info","-u","ghczmprim_GHCziTypes_Czh_con_info","-u","ghczmprim_GHCziTypes_Fzh_con_info","-u","ghczmprim_GHCziTypes_Dzh_con_info","-u","base_GHCziPtr_Ptr_con_info","-u","base_GHCziPtr_FunPtr_con_info","-u","base_GHCziStable_StablePtr_con_info","-u","ghczmprim_GHCziBool_False_closure","-u","ghczmprim_GHCziBool_True_closure","-u","base_GHCziPack_unpackCString_closure","-u","base_GHCziIOziException_stackOverflow_closure","-u","base_GHCziIOziException_heapOverflow_closure","-u","base_ControlziExceptionziBase_nonTermination_closure","-u","base_GHCziIOziException_blockedIndefinitelyOnMVar_closure","-u","base_GHCziIOziException_blockedIndefinitelyOnSTM_closure","-u","base_ControlziExceptionziBase_nestedAtomically_closure","-u","base_GHCziWeak_runFinalizzerBatch_closure","-u","base_GHCziTopHandler_runIO_closure","-u","base_GHCziTopHandler_runNonIO_closure","-u","base_GHCziConc_ensureIOManagerIsRunning_closure","-u","base_GHCziConc_runSparks_closure","-u","base_GHCziConc_runHandlers_closure"], frameworkDirs = [], frameworks = [], haddockInterfaces = [], haddockHTMLs = []}])]),(PackageName "shaker",fromList [(Version {versionBranch = [0,4,3], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "shaker-0.4.3-0f486f0310be547eaa282911cefce99a", sourcePackageId = PackageIdentifier {pkgName = PackageName "shaker", pkgVersion = Version {versionBranch = [0,4,3], versionTags = []}}, license = BSD3, copyright = "Copyright (c) 2010 Anthonin Bonnefoy", maintainer = "anthonin.bonnefoy@gmail.com", author = "Anthonin Bonnefoy", stability = "alpha", homepage = "http://github.com/bonnefoa/Shaker", pkgUrl = "", description = "Shaker is a build tool which allow to simply compile or launch test on an haskell project and provides some interesting features like continuous action. With continuous action, an action (compile or test) will be automatically executed when a source modification is detected.\n\nAll configuration are made via cabal; Shaker will read cabal configuration to discover source directories, compilation options and targets to compile.\n\n/Usage/\n\nThe cabal configuration file should be generated beforehand with /cabal configure/. If you change your cabal configuration, you will need to recreate the configuration file.\n\n/Launch interactive prompt/\n\nIn the root of your haskell project, launch shaker. An interactive prompt will allow you to execute different actions.\n\n/Launch a shaker action from command-line/\n\nIn the root of your haskell project, launch shaker with your action as a command argument; shaker will execute the given action and exit. See examples for more details.\n\n/Action execution/\n\n[@Simple Execution@] An action can be launched normally, by entering the action name.\n\n[@Multiple action execution@] You can specify multiple action to execute simply by separating action by spaces.\n\n[@Continuous Action@] A continuous action will execute the action when a file modification has been detected.\nEvery action are elligible to continuous action, you simply need to prefix them with '~'. To stop a continuous action, simply use ^C.\n\n/Available actions/\n\n[@compile@] Compile the project. Targets of the compilation are main files (in case of executable) and exposed modules (in case of library).\n\n[@fullcompile@] Compile all hs files found in source directory. It is usefull to compile sources not declared in cabal. Since it is not possible to compile multiple modules with main, all modules with a main function are excluded.\n\n[@help@] Print all available action.\n\n[@clean@] Clean the directory containing .o and .hi files.\n\n[@test@] Launch all quickcheck properties and hunit tests of the project using test-framework. You can provide one or several regexps as argument and shaker will execute all tests matching one regexp. Quickcheck properties and HUnit tests are automatically discovered using GHC Api. All functions begining with \8220prop_\8221 are considered as quickcheck properties and all functions of type Test.HUnit.Lang.Assertion and TestCase are considered as HUnit tests.\n\n[@test-module@] Same as test but test-module takes one or several module patterns as arguments.\n\n[@itest@] Launch all quickcheck properties and hunit tests using test-framework on compiled modules. Same as test, you can give a regexp as argument. This action is only useful when used with continuous action.\n\n[@itest-module@] Same as itest but itest-module takes one or several module patterns as arguments.\n\n[@quit@] Exit the application. You can also use ^C or ^D to exit shaker.\n\n/Examples with interactive prompt/\n\n[@% compile@] Simply compile the project\n\n[@% clean compile@] Clean and compile the project\n\n[@% ~compile@] Switch to continuous mode and will compile the project when sources are modified.\n\n[@% ~clean compile@] Switch to continuous mode and will clean and compile the project when sources are modified.\n\n[@% test@] Execute all tests in the project\n\n[@% ~itest@] Switch to continuous mode and execute tests on compiled modules.\n\n[@% test prop_.*@] Execute all quickcheck properties of the project.\n\n[@% test testExecute.* testFilter.* @] Execute all tests matching testExecute.* or testFilter.*\n\n[@% test-module Regex Refle@] Launch all tests in modules matching Regex.* or Refle.*\n\n[@% ~itest-module Regex Refle@] Launch all tests in modules matching Regex.* or Refle.* only when they are build.\n\n/Examples with command-line/\n\n[@% shaker fullcompile@] Launch shaker, execute the fullcompile action and give back the control.\n\n[@% shaker \\\"~fullcompile\\\" @] Launch shaker, continuously execute the fullcompile action until shaker is interrupted.", category = "Development", exposed = True, exposedModules = [ModuleName ["Shaker","Parser"],ModuleName ["Shaker","Action","Standard"],ModuleName ["Shaker","Action","Test"],ModuleName ["Shaker","Action","Compile"],ModuleName ["Shaker","Conductor"],ModuleName ["Shaker","Config"],ModuleName ["Shaker","TestTH"],ModuleName ["Shaker","PluginConfig"],ModuleName ["Shaker","Reflexivite"],ModuleName ["Shaker","Regex"],ModuleName ["Shaker","Cli"],ModuleName ["Shaker","Io"],ModuleName ["Shaker","SourceHelper"],ModuleName ["Shaker","Cabal","CabalInfo"],ModuleName ["Shaker","Type"],ModuleName ["Shaker","Listener"]], hiddenModules = [], importDirs = ["/usr/local/lib/shaker-0.4.3/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/shaker-0.4.3/ghc-6.12.3"], hsLibraries = ["HSshaker-0.4.3"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "Cabal-1.8.0.6-fbc519b7543237abfa4d5d0af63aa9bb",InstalledPackageId "HUnit-1.2.2.3-22a4b7b2e37ba33060b9d5875ee5e58d",InstalledPackageId "QuickCheck-2.2-22063d10d03e3b4def140e347863dd3a",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "bytestring-0.9.1.7-e4f5efe6019d4771130f5cd8d3216b38",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379",InstalledPackageId "directory-1.0.1.1-f959a158a71fc63ca3822eaf49ec66dc",InstalledPackageId "filepath-1.1.0.4-c303c646a99c2a24d2402008d247eb5f",InstalledPackageId "ghc-6.12.3-32f69115c5a977d5f19f8d159b76363d",InstalledPackageId "ghc-paths-0.1.0.6-b2ea980bf1438334c19ec3c8f61af91b",InstalledPackageId "haskeline-0.6.2.3-1a278dc8a73e7514516cc642a37fc141",InstalledPackageId "haskell98-1.0.1.1-4d2891ad99eae334ff8234bcfbddce06",InstalledPackageId "mtl-1.1.0.2-174e84f60f8c2192a4ee7d2ff2833953",InstalledPackageId "old-time-1.0.0.5-45398fe9d274a4e0177157e25427aeec",InstalledPackageId "parsec-3.1.0-0b5a7b7a7908010571b77863283c11a0",InstalledPackageId "regex-posix-0.94.4-5ed6ccc70c49d2e1b9b251b87c2ada2a",InstalledPackageId "template-haskell-2.4.0.1-bf08798b1934e4d6a3f903f58e0d5159",InstalledPackageId "test-framework-0.3.2-f6ef719e9634025c1b2a8e168ff3cf1d",InstalledPackageId "test-framework-hunit-0.2.6-44bfb24857b5a3c3cc4fc2eb46048c38",InstalledPackageId "test-framework-quickcheck2-0.2.7-7f73165dd6d73f5cac795dc781efbac8"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/shaker-0.4.3/html/shaker.haddock"], haddockHTMLs = ["/usr/local/share/doc/shaker-0.4.3/html"]}])]),(PackageName "syb",fromList [(Version {versionBranch = [0,1,0,2], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "syb-0.1.0.2-0917873f366b0be90a48082271223b4e", sourcePackageId = PackageIdentifier {pkgName = PackageName "syb", pkgVersion = Version {versionBranch = [0,1,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains the generics system described in the\n/Scrap Your Boilerplate/ papers (see <http://www.cs.vu.nl/boilerplate/>).\nIt defines the @Data@ class of types permitting folding and unfolding\nof constructor applications, instances of this class for primitive\ntypes, and a variety of traversals.", category = "", exposed = True, exposedModules = [ModuleName ["Data","Generics"],ModuleName ["Data","Generics","Aliases"],ModuleName ["Data","Generics","Basics"],ModuleName ["Data","Generics","Instances"],ModuleName ["Data","Generics","Schemes"],ModuleName ["Data","Generics","Text"],ModuleName ["Data","Generics","Twins"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/syb-0.1.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/syb-0.1.0.2"], hsLibraries = ["HSsyb-0.1.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/syb-0.1.0.2/syb.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/syb-0.1.0.2"]}])]),(PackageName "template-haskell",fromList [(Version {versionBranch = [2,4,0,1], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "template-haskell-2.4.0.1-bf08798b1934e4d6a3f903f58e0d5159", sourcePackageId = PackageIdentifier {pkgName = PackageName "template-haskell", pkgVersion = Version {versionBranch = [2,4,0,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "Facilities for manipulating Haskell source code using Template Haskell.", category = "", exposed = True, exposedModules = [ModuleName ["Language","Haskell","TH","Syntax","Internals"],ModuleName ["Language","Haskell","TH","Syntax"],ModuleName ["Language","Haskell","TH","PprLib"],ModuleName ["Language","Haskell","TH","Ppr"],ModuleName ["Language","Haskell","TH","Lib"],ModuleName ["Language","Haskell","TH","Quote"],ModuleName ["Language","Haskell","TH"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/template-haskell-2.4.0.1"], libraryDirs = ["/usr/lib/ghc-6.12.3/template-haskell-2.4.0.1"], hsLibraries = ["HStemplate-haskell-2.4.0.1"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379",InstalledPackageId "pretty-1.0.1.1-cde327683d86c8644fc9073c368cc5ea"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/template-haskell-2.4.0.1/template-haskell.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/template-haskell-2.4.0.1"]}])]),(PackageName "terminfo",fromList [(Version {versionBranch = [0,3,1,3], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "terminfo-0.3.1.3-cb5c013f461e807c42d7ab88cb71abc6", sourcePackageId = PackageIdentifier {pkgName = PackageName "terminfo", pkgVersion = Version {versionBranch = [0,3,1,3], versionTags = []}}, license = BSD3, copyright = "(c) Judah Jacobson", maintainer = "Judah Jacobson <judah.jacobson@gmail.com>", author = "Judah Jacobson", stability = "Experimental", homepage = "http://code.haskell.org/terminfo", pkgUrl = "", description = "This library provides an interface to the terminfo database (via bindings to the\ncurses library).  Terminfo allows POSIX systems to interact with a variety of terminals\nusing a standard set of capabilities.", category = "User Interfaces", exposed = True, exposedModules = [ModuleName ["System","Console","Terminfo"],ModuleName ["System","Console","Terminfo","Base"],ModuleName ["System","Console","Terminfo","Cursor"],ModuleName ["System","Console","Terminfo","Color"],ModuleName ["System","Console","Terminfo","Edit"],ModuleName ["System","Console","Terminfo","Effects"],ModuleName ["System","Console","Terminfo","Keys"]], hiddenModules = [], importDirs = ["/usr/local/lib/terminfo-0.3.1.3/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/terminfo-0.3.1.3/ghc-6.12.3"], hsLibraries = ["HSterminfo-0.3.1.3"], extraLibraries = ["ncursesw"], extraGHCiLibraries = [], includeDirs = [], includes = ["ncurses.h","term.h"], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "extensible-exceptions-0.1.1.1-28a83091e117b2e719d4a1c4a320a1c8"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/terminfo-0.3.1.3/html/terminfo.haddock"], haddockHTMLs = ["/usr/local/share/doc/terminfo-0.3.1.3/html"]}])]),(PackageName "test-framework",fromList [(Version {versionBranch = [0,3,2], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "test-framework-0.3.2-f6ef719e9634025c1b2a8e168ff3cf1d", sourcePackageId = PackageIdentifier {pkgName = PackageName "test-framework", pkgVersion = Version {versionBranch = [0,3,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "Max Bolingbroke <batterseapower@hotmail.com>", author = "Max Bolingbroke <batterseapower@hotmail.com>", stability = "", homepage = "http://batterseapower.github.com/test-framework/", pkgUrl = "", description = "Allows tests such as QuickCheck properties and HUnit test cases to be assembled into test groups, run in\nparallel (but reported in deterministic order, to aid diff interpretation) and filtered and controlled by\ncommand line options. All of this comes with colored test output, progress reporting and test statistics output.", category = "Testing", exposed = True, exposedModules = [ModuleName ["Test","Framework"],ModuleName ["Test","Framework","Options"],ModuleName ["Test","Framework","Providers","API"],ModuleName ["Test","Framework","Runners","Console"],ModuleName ["Test","Framework","Runners","Options"],ModuleName ["Test","Framework","Seed"]], hiddenModules = [ModuleName ["Test","Framework","Core"],ModuleName ["Test","Framework","Improving"],ModuleName ["Test","Framework","Runners","Console","Colors"],ModuleName ["Test","Framework","Runners","Console","ProgressBar"],ModuleName ["Test","Framework","Runners","Console","Run"],ModuleName ["Test","Framework","Runners","Console","Statistics"],ModuleName ["Test","Framework","Runners","Console","Table"],ModuleName ["Test","Framework","Runners","Console","Utilities"],ModuleName ["Test","Framework","Runners","Core"],ModuleName ["Test","Framework","Runners","Processors"],ModuleName ["Test","Framework","Runners","Statistics"],ModuleName ["Test","Framework","Runners","TestPattern"],ModuleName ["Test","Framework","Runners","ThreadPool"],ModuleName ["Test","Framework","Runners","TimedConsumption"],ModuleName ["Test","Framework","Runners","XML","JUnitWriter"],ModuleName ["Test","Framework","Runners","XML"],ModuleName ["Test","Framework","Utilities"]], importDirs = ["/usr/local/lib/test-framework-0.3.2/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/test-framework-0.3.2/ghc-6.12.3"], hsLibraries = ["HStest-framework-0.3.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "ansi-terminal-0.5.3-fef2144db00d62ea2d9da21ec5ca7046",InstalledPackageId "ansi-wl-pprint-0.5.1-22f27bc85096873ab1a93267304717c0",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379",InstalledPackageId "extensible-exceptions-0.1.1.1-28a83091e117b2e719d4a1c4a320a1c8",InstalledPackageId "hostname-1.0-2c66f7cd5b0181bf74c587fea84c34ad",InstalledPackageId "old-locale-1.0.0.2-0c1a4b40f2d3b9f6b725f54c00fe0923",InstalledPackageId "random-1.0.0.2-f4208c3677aeaaaf41e4d36309c0b4ff",InstalledPackageId "regex-posix-0.94.4-5ed6ccc70c49d2e1b9b251b87c2ada2a",InstalledPackageId "time-1.1.4-d9f7b7932dc3a4863006ed6b1d525856",InstalledPackageId "xml-1.3.7-8eed171da0fbc8d7cd88227177b737d1"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/test-framework-0.3.2/html/test-framework.haddock"], haddockHTMLs = ["/usr/local/share/doc/test-framework-0.3.2/html"]}])]),(PackageName "test-framework-hunit",fromList [(Version {versionBranch = [0,2,6], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "test-framework-hunit-0.2.6-44bfb24857b5a3c3cc4fc2eb46048c38", sourcePackageId = PackageIdentifier {pkgName = PackageName "test-framework-hunit", pkgVersion = Version {versionBranch = [0,2,6], versionTags = []}}, license = BSD3, copyright = "", maintainer = "Max Bolingbroke <batterseapower@hotmail.com>", author = "Max Bolingbroke <batterseapower@hotmail.com>", stability = "", homepage = "http://batterseapower.github.com/test-framework/", pkgUrl = "", description = "", category = "Testing", exposed = True, exposedModules = [ModuleName ["Test","Framework","Providers","HUnit"]], hiddenModules = [], importDirs = ["/usr/local/lib/test-framework-hunit-0.2.6/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/test-framework-hunit-0.2.6/ghc-6.12.3"], hsLibraries = ["HStest-framework-hunit-0.2.6"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "HUnit-1.2.2.3-22a4b7b2e37ba33060b9d5875ee5e58d",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "extensible-exceptions-0.1.1.1-28a83091e117b2e719d4a1c4a320a1c8",InstalledPackageId "test-framework-0.3.2-f6ef719e9634025c1b2a8e168ff3cf1d"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/test-framework-hunit-0.2.6/html/test-framework-hunit.haddock"], haddockHTMLs = ["/usr/local/share/doc/test-framework-hunit-0.2.6/html"]}])]),(PackageName "test-framework-quickcheck2",fromList [(Version {versionBranch = [0,2,7], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "test-framework-quickcheck2-0.2.7-7f73165dd6d73f5cac795dc781efbac8", sourcePackageId = PackageIdentifier {pkgName = PackageName "test-framework-quickcheck2", pkgVersion = Version {versionBranch = [0,2,7], versionTags = []}}, license = BSD3, copyright = "", maintainer = "Max Bolingbroke <batterseapower@hotmail.com>", author = "Max Bolingbroke <batterseapower@hotmail.com>", stability = "", homepage = "http://batterseapower.github.com/test-framework/", pkgUrl = "", description = "", category = "Testing", exposed = True, exposedModules = [ModuleName ["Test","Framework","Providers","QuickCheck2"]], hiddenModules = [], importDirs = ["/usr/local/lib/test-framework-quickcheck2-0.2.7/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/test-framework-quickcheck2-0.2.7/ghc-6.12.3"], hsLibraries = ["HStest-framework-quickcheck2-0.2.7"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "QuickCheck-2.2-22063d10d03e3b4def140e347863dd3a",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "extensible-exceptions-0.1.1.1-28a83091e117b2e719d4a1c4a320a1c8",InstalledPackageId "random-1.0.0.2-f4208c3677aeaaaf41e4d36309c0b4ff",InstalledPackageId "test-framework-0.3.2-f6ef719e9634025c1b2a8e168ff3cf1d"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/test-framework-quickcheck2-0.2.7/html/test-framework-quickcheck2.haddock"], haddockHTMLs = ["/usr/local/share/doc/test-framework-quickcheck2-0.2.7/html"]}])]),(PackageName "time",fromList [(Version {versionBranch = [1,1,4], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "time-1.1.4-d9f7b7932dc3a4863006ed6b1d525856", sourcePackageId = PackageIdentifier {pkgName = PackageName "time", pkgVersion = Version {versionBranch = [1,1,4], versionTags = []}}, license = BSD3, copyright = "", maintainer = "<ashley@semantic.org>", author = "Ashley Yakeley", stability = "stable", homepage = "http://semantic.org/TimeLib/", pkgUrl = "", description = "A time library", category = "System", exposed = True, exposedModules = [ModuleName ["Data","Time","Calendar"],ModuleName ["Data","Time","Calendar","MonthDay"],ModuleName ["Data","Time","Calendar","OrdinalDate"],ModuleName ["Data","Time","Calendar","WeekDate"],ModuleName ["Data","Time","Calendar","Julian"],ModuleName ["Data","Time","Calendar","Easter"],ModuleName ["Data","Time","Clock"],ModuleName ["Data","Time","Clock","POSIX"],ModuleName ["Data","Time","Clock","TAI"],ModuleName ["Data","Time","LocalTime"],ModuleName ["Data","Time","Format"],ModuleName ["Data","Time"]], hiddenModules = [ModuleName ["Data","Time","Calendar","Private"],ModuleName ["Data","Time","Calendar","Days"],ModuleName ["Data","Time","Calendar","Gregorian"],ModuleName ["Data","Time","Calendar","JulianYearDay"],ModuleName ["Data","Time","Clock","Scale"],ModuleName ["Data","Time","Clock","UTC"],ModuleName ["Data","Time","Clock","CTimeval"],ModuleName ["Data","Time","Clock","UTCDiff"],ModuleName ["Data","Time","LocalTime","TimeZone"],ModuleName ["Data","Time","LocalTime","TimeOfDay"],ModuleName ["Data","Time","LocalTime","LocalTime"],ModuleName ["Data","Time","Format","Parse"]], importDirs = ["/usr/lib/ghc-6.12.3/time-1.1.4"], libraryDirs = ["/usr/lib/ghc-6.12.3/time-1.1.4"], hsLibraries = ["HStime-1.1.4"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/time-1.1.4/include"], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "old-locale-1.0.0.2-0c1a4b40f2d3b9f6b725f54c00fe0923"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/time-1.1.4/time.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/time-1.1.4"]}])]),(PackageName "unix",fromList [(Version {versionBranch = [2,4,0,2], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "unix-2.4.0.2-8b7fb1ebcdcb8db413d44db018f084d7", sourcePackageId = PackageIdentifier {pkgName = PackageName "unix", pkgVersion = Version {versionBranch = [2,4,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package gives you access to the set of operating system\nservices standardised by POSIX 1003.1b (or the IEEE Portable\nOperating System Interface for Computing Environments -\nIEEE Std. 1003.1).\n\nThe package is not supported under Windows (except under Cygwin).", category = "System", exposed = True, exposedModules = [ModuleName ["System","Posix"],ModuleName ["System","Posix","DynamicLinker","Module"],ModuleName ["System","Posix","DynamicLinker","Prim"],ModuleName ["System","Posix","Directory"],ModuleName ["System","Posix","DynamicLinker"],ModuleName ["System","Posix","Env"],ModuleName ["System","Posix","Error"],ModuleName ["System","Posix","Files"],ModuleName ["System","Posix","IO"],ModuleName ["System","Posix","Process"],ModuleName ["System","Posix","Process","Internals"],ModuleName ["System","Posix","Resource"],ModuleName ["System","Posix","Temp"],ModuleName ["System","Posix","Terminal"],ModuleName ["System","Posix","Time"],ModuleName ["System","Posix","Unistd"],ModuleName ["System","Posix","User"],ModuleName ["System","Posix","Signals"],ModuleName ["System","Posix","Signals","Exts"],ModuleName ["System","Posix","Semaphore"],ModuleName ["System","Posix","SharedMem"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/unix-2.4.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/unix-2.4.0.2"], hsLibraries = ["HSunix-2.4.0.2"], extraLibraries = ["rt","util","dl"], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/unix-2.4.0.2/include"], includes = ["HsUnix.h","execvpe.h"], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/unix-2.4.0.2/unix.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/unix-2.4.0.2"]}])]),(PackageName "utf8-string",fromList [(Version {versionBranch = [0,3,6], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "utf8-string-0.3.6-b308ad9fc2d24291fe4fbf9384c576a8", sourcePackageId = PackageIdentifier {pkgName = PackageName "utf8-string", pkgVersion = Version {versionBranch = [0,3,6], versionTags = []}}, license = BSD3, copyright = "", maintainer = "emertens@galois.com", author = "Eric Mertens", stability = "", homepage = "http://github.com/glguy/utf8-string/", pkgUrl = "", description = "A UTF8 layer for IO and Strings. The utf8-string\npackage provides operations for encoding UTF8\nstrings to Word8 lists and back, and for reading and\nwriting UTF8 without truncation.", category = "Codec", exposed = True, exposedModules = [ModuleName ["Codec","Binary","UTF8","String"],ModuleName ["Codec","Binary","UTF8","Generic"],ModuleName ["System","IO","UTF8"],ModuleName ["System","Environment","UTF8"],ModuleName ["Data","String","UTF8"],ModuleName ["Data","ByteString","UTF8"],ModuleName ["Data","ByteString","Lazy","UTF8"]], hiddenModules = [], importDirs = ["/usr/local/lib/utf8-string-0.3.6/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/utf8-string-0.3.6/ghc-6.12.3"], hsLibraries = ["HSutf8-string-0.3.6"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-3.0.3.2-260693a92016991a03206b5a55f6a411",InstalledPackageId "bytestring-0.9.1.7-e4f5efe6019d4771130f5cd8d3216b38"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/utf8-string-0.3.6/html/utf8-string.haddock"], haddockHTMLs = ["/usr/local/share/doc/utf8-string-0.3.6/html"]}])]),(PackageName "xml",fromList [(Version {versionBranch = [1,3,7], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "xml-1.3.7-8eed171da0fbc8d7cd88227177b737d1", sourcePackageId = PackageIdentifier {pkgName = PackageName "xml", pkgVersion = Version {versionBranch = [1,3,7], versionTags = []}}, license = BSD3, copyright = "(c) 2007-2008 Galois Inc.", maintainer = "diatchki@galois.com", author = "Galois Inc.", stability = "", homepage = "http://code.galois.com", pkgUrl = "", description = "A simple XML library.", category = "Text, XML", exposed = True, exposedModules = [ModuleName ["Text","XML","Light"],ModuleName ["Text","XML","Light","Types"],ModuleName ["Text","XML","Light","Output"],ModuleName ["Text","XML","Light","Input"],ModuleName ["Text","XML","Light","Lexer"],ModuleName ["Text","XML","Light","Proc"],ModuleName ["Text","XML","Light","Cursor"]], hiddenModules = [], importDirs = ["/usr/local/lib/xml-1.3.7/ghc-6.12.3"], libraryDirs = ["/usr/local/lib/xml-1.3.7/ghc-6.12.3"], hsLibraries = ["HSxml-1.3.7"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "bytestring-0.9.1.7-e4f5efe6019d4771130f5cd8d3216b38"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/local/share/doc/xml-1.3.7/html/xml.haddock"], haddockHTMLs = ["/usr/local/share/doc/xml-1.3.7/html"]}])])]), pkgDescrFile = Just "./cabalTest.cabal", localPkgDescr = PackageDescription {package = PackageIdentifier {pkgName = PackageName "cabalTest", pkgVersion = Version {versionBranch = [0,0,1], versionTags = []}}, license = AllRightsReserved, licenseFile = "", copyright = "", maintainer = "", author = "", stability = "", testedWith = [], homepage = "", pkgUrl = "", bugReports = "", sourceRepos = [], synopsis = "", description = "", category = "", customFieldsPD = [], buildDepends = [Dependency (PackageName "base") (IntersectVersionRanges (IntersectVersionRanges (UnionVersionRanges (ThisVersion (Version {versionBranch = [4], versionTags = []})) (LaterVersion (Version {versionBranch = [4], versionTags = []}))) (ThisVersion (Version {versionBranch = [4,2,0,2], versionTags = []}))) (IntersectVersionRanges (UnionVersionRanges (ThisVersion (Version {versionBranch = [4], versionTags = []})) (LaterVersion (Version {versionBranch = [4], versionTags = []}))) (ThisVersion (Version {versionBranch = [4,2,0,2], versionTags = []})))),Dependency (PackageName "bytestring") (IntersectVersionRanges (UnionVersionRanges (ThisVersion (Version {versionBranch = [0,1], versionTags = []})) (LaterVersion (Version {versionBranch = [0,1], versionTags = []}))) (ThisVersion (Version {versionBranch = [0,9,1,7], versionTags = []}))),Dependency (PackageName "ghc") (IntersectVersionRanges (IntersectVersionRanges (UnionVersionRanges (ThisVersion (Version {versionBranch = [6], versionTags = []})) (LaterVersion (Version {versionBranch = [6], versionTags = []}))) (ThisVersion (Version {versionBranch = [6,12,3], versionTags = []}))) (IntersectVersionRanges (UnionVersionRanges (ThisVersion (Version {versionBranch = [6], versionTags = []})) (LaterVersion (Version {versionBranch = [6], versionTags = []}))) (ThisVersion (Version {versionBranch = [6,12,3], versionTags = []})))),Dependency (PackageName "mtl") (IntersectVersionRanges (UnionVersionRanges (ThisVersion (Version {versionBranch = [0,1], versionTags = []})) (LaterVersion (Version {versionBranch = [0,1], versionTags = []}))) (ThisVersion (Version {versionBranch = [1,1,0,2], versionTags = []}))),Dependency (PackageName "shaker") (IntersectVersionRanges (UnionVersionRanges (ThisVersion (Version {versionBranch = [0,1], versionTags = []})) (LaterVersion (Version {versionBranch = [0,1], versionTags = []}))) (ThisVersion (Version {versionBranch = [0,4,3], versionTags = []})))], descCabalVersion = UnionVersionRanges (ThisVersion (Version {versionBranch = [1,8], versionTags = []})) (LaterVersion (Version {versionBranch = [1,8], versionTags = []})), buildType = Just Simple, library = Just (Library {exposedModules = [ModuleName ["CabalTest"]], libExposed = True, libBuildInfo = BuildInfo {buildable = True, buildTools = [], cppOptions = [], ccOptions = [], ldOptions = [], pkgconfigDepends = [], frameworks = [], cSources = [], hsSourceDirs = ["src"], otherModules = [ModuleName ["Paths_cabalTest"]], extensions = [], extraLibs = [], extraLibDirs = [], includeDirs = [], includes = [], installIncludes = [], options = [(GHC,["-Wall"])], ghcProfOptions = [], ghcSharedOptions = [], customFieldsBI = [], targetBuildDepends = [Dependency (PackageName "base") (IntersectVersionRanges (UnionVersionRanges (ThisVersion (Version {versionBranch = [4], versionTags = []})) (LaterVersion (Version {versionBranch = [4], versionTags = []}))) (ThisVersion (Version {versionBranch = [4,2,0,2], versionTags = []}))),Dependency (PackageName "bytestring") (IntersectVersionRanges (UnionVersionRanges (ThisVersion (Version {versionBranch = [0,1], versionTags = []})) (LaterVersion (Version {versionBranch = [0,1], versionTags = []}))) (ThisVersion (Version {versionBranch = [0,9,1,7], versionTags = []}))),Dependency (PackageName "ghc") (IntersectVersionRanges (UnionVersionRanges (ThisVersion (Version {versionBranch = [6], versionTags = []})) (LaterVersion (Version {versionBranch = [6], versionTags = []}))) (ThisVersion (Version {versionBranch = [6,12,3], versionTags = []})))]}}), executables = [Executable {exeName = "cabalTest", modulePath = "Main.hs", buildInfo = BuildInfo {buildable = True, buildTools = [], cppOptions = [], ccOptions = [], ldOptions = [], pkgconfigDepends = [], frameworks = [], cSources = [], hsSourceDirs = ["src"], otherModules = [], extensions = [], extraLibs = [], extraLibDirs = [], includeDirs = [], includes = [], installIncludes = [], options = [(GHC,["-Wall"])], ghcProfOptions = [], ghcSharedOptions = [], customFieldsBI = [], targetBuildDepends = [Dependency (PackageName "base") (IntersectVersionRanges (UnionVersionRanges (ThisVersion (Version {versionBranch = [4], versionTags = []})) (LaterVersion (Version {versionBranch = [4], versionTags = []}))) (ThisVersion (Version {versionBranch = [4,2,0,2], versionTags = []}))),Dependency (PackageName "ghc") (IntersectVersionRanges (UnionVersionRanges (ThisVersion (Version {versionBranch = [6], versionTags = []})) (LaterVersion (Version {versionBranch = [6], versionTags = []}))) (ThisVersion (Version {versionBranch = [6,12,3], versionTags = []}))),Dependency (PackageName "mtl") (IntersectVersionRanges (UnionVersionRanges (ThisVersion (Version {versionBranch = [0,1], versionTags = []})) (LaterVersion (Version {versionBranch = [0,1], versionTags = []}))) (ThisVersion (Version {versionBranch = [1,1,0,2], versionTags = []}))),Dependency (PackageName "shaker") (IntersectVersionRanges (UnionVersionRanges (ThisVersion (Version {versionBranch = [0,1], versionTags = []})) (LaterVersion (Version {versionBranch = [0,1], versionTags = []}))) (ThisVersion (Version {versionBranch = [0,4,3], versionTags = []})))]}}], dataFiles = [], dataDir = "", extraSrcFiles = [], extraTmpFiles = []}, withPrograms = [("alex",ConfiguredProgram {programId = "alex", programVersion = Just (Version {versionBranch = [2,3,3], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/local/bin/alex"}}),("ar",ConfiguredProgram {programId = "ar", programVersion = Nothing, programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/ar"}}),("c2hs",ConfiguredProgram {programId = "c2hs", programVersion = Just (Version {versionBranch = [0,16,2], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/local/bin/c2hs"}}),("cpphs",ConfiguredProgram {programId = "cpphs", programVersion = Just (Version {versionBranch = [1,11], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/cpphs"}}),("gcc",ConfiguredProgram {programId = "gcc", programVersion = Just (Version {versionBranch = [4,5,1], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/gcc"}}),("ghc",ConfiguredProgram {programId = "ghc", programVersion = Just (Version {versionBranch = [6,12,3], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/ghc"}}),("ghc-pkg",ConfiguredProgram {programId = "ghc-pkg", programVersion = Just (Version {versionBranch = [6,12,3], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/ghc-pkg"}}),("haddock",ConfiguredProgram {programId = "haddock", programVersion = Just (Version {versionBranch = [2,6,1], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/haddock"}}),("happy",ConfiguredProgram {programId = "happy", programVersion = Just (Version {versionBranch = [1,18,5], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/happy"}}),("hsc2hs",ConfiguredProgram {programId = "hsc2hs", programVersion = Just (Version {versionBranch = [0,67], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/hsc2hs"}}),("hscolour",ConfiguredProgram {programId = "hscolour", programVersion = Just (Version {versionBranch = [1,16], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/HsColour"}}),("ld",ConfiguredProgram {programId = "ld", programVersion = Nothing, programArgs = ["-x"], programLocation = FoundOnSystem {locationPath = "/usr/bin/ld"}}),("pkg-config",ConfiguredProgram {programId = "pkg-config", programVersion = Just (Version {versionBranch = [0,25], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/pkg-config"}}),("ranlib",ConfiguredProgram {programId = "ranlib", programVersion = Nothing, programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/ranlib"}}),("strip",ConfiguredProgram {programId = "strip", programVersion = Nothing, programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/strip"}}),("tar",ConfiguredProgram {programId = "tar", programVersion = Nothing, programArgs = [], programLocation = FoundOnSystem {locationPath = "/bin/tar"}})], withPackageDB = [GlobalPackageDB,UserPackageDB], withVanillaLib = True, withProfLib = False, withSharedLib = False, withProfExe = False, withOptimization = NormalOptimisation, withGHCiLib = True, splitObjs = False, stripExes = True, progPrefix = "", progSuffix = ""}
− testsuite/tests/resources/cabalTest/src/CabalTest.hs
@@ -1,4 +0,0 @@-module CabalTest- where--
− testsuite/tests/resources/cabalTest/src/Main.hs
@@ -1,4 +0,0 @@-module Main- where--main = putStrLn "42"
− testsuite/tests/resources/invalidMain/dist/setup-config
@@ -1,2 +0,0 @@-Saved package config for invalidMain-0.0.1 written by Cabal-1.8.0.6 using ghc-6.12-LocalBuildInfo {installDirTemplates = InstallDirs {prefix = "/home/sora/.cabal", bindir = "$prefix/bin", libdir = "$prefix/lib", libsubdir = "$pkgid/$compiler", dynlibdir = "$libdir", libexecdir = "$prefix/libexec", progdir = "$libdir/hugs/programs", includedir = "$libdir/$libsubdir/include", datadir = "$prefix/share", datasubdir = "$pkgid", docdir = "$datadir/doc/$pkgid", mandir = "$datadir/man", htmldir = "$docdir/html", haddockdir = "$htmldir"}, compiler = Compiler {compilerId = CompilerId GHC (Version {versionBranch = [6,12,3], versionTags = []}), compilerExtensions = [(CPP,"-XCPP"),(PostfixOperators,"-XPostfixOperators"),(UnknownExtension "TupleSections","-XTupleSections"),(PatternGuards,"-XPatternGuards"),(UnicodeSyntax,"-XUnicodeSyntax"),(MagicHash,"-XMagicHash"),(PolymorphicComponents,"-XPolymorphicComponents"),(ExistentialQuantification,"-XExistentialQuantification"),(KindSignatures,"-XKindSignatures"),(EmptyDataDecls,"-XEmptyDataDecls"),(ParallelListComp,"-XParallelListComp"),(TransformListComp,"-XTransformListComp"),(ForeignFunctionInterface,"-XForeignFunctionInterface"),(UnliftedFFITypes,"-XUnliftedFFITypes"),(UnknownExtension "GHCForeignImportPrim","-XGHCForeignImportPrim"),(LiberalTypeSynonyms,"-XLiberalTypeSynonyms"),(Rank2Types,"-XRank2Types"),(RankNTypes,"-XRankNTypes"),(ImpredicativeTypes,"-XImpredicativeTypes"),(TypeOperators,"-XTypeOperators"),(RecursiveDo,"-XRecursiveDo"),(UnknownExtension "DoRec","-XDoRec"),(Arrows,"-XArrows"),(UnknownExtension "PArr","-XPArr"),(TemplateHaskell,"-XTemplateHaskell"),(QuasiQuotes,"-XQuasiQuotes"),(Generics,"-XGenerics"),(NoImplicitPrelude,"-XNoImplicitPrelude"),(RecordWildCards,"-XRecordWildCards"),(NamedFieldPuns,"-XNamedFieldPuns"),(RecordPuns,"-XRecordPuns"),(DisambiguateRecordFields,"-XDisambiguateRecordFields"),(OverloadedStrings,"-XOverloadedStrings"),(GADTs,"-XGADTs"),(ViewPatterns,"-XViewPatterns"),(TypeFamilies,"-XTypeFamilies"),(BangPatterns,"-XBangPatterns"),(NoMonomorphismRestriction,"-XNoMonomorphismRestriction"),(UnknownExtension "NPlusKPatterns","-XNPlusKPatterns"),(NoMonoPatBinds,"-XNoMonoPatBinds"),(UnknownExtension "ExplicitForAll","-XExplicitForAll"),(UnknownExtension "MonoLocalBinds","-XMonoLocalBinds"),(RelaxedPolyRec,"-XRelaxedPolyRec"),(ExtendedDefaultRules,"-XExtendedDefaultRules"),(ImplicitParams,"-XImplicitParams"),(ScopedTypeVariables,"-XScopedTypeVariables"),(PatternSignatures,"-XPatternSignatures"),(UnboxedTuples,"-XUnboxedTuples"),(StandaloneDeriving,"-XStandaloneDeriving"),(DeriveDataTypeable,"-XDeriveDataTypeable"),(UnknownExtension "DeriveFunctor","-XDeriveFunctor"),(UnknownExtension "DeriveTraversable","-XDeriveTraversable"),(UnknownExtension "DeriveFoldable","-XDeriveFoldable"),(TypeSynonymInstances,"-XTypeSynonymInstances"),(FlexibleContexts,"-XFlexibleContexts"),(FlexibleInstances,"-XFlexibleInstances"),(ConstrainedClassMethods,"-XConstrainedClassMethods"),(MultiParamTypeClasses,"-XMultiParamTypeClasses"),(FunctionalDependencies,"-XFunctionalDependencies"),(GeneralizedNewtypeDeriving,"-XGeneralizedNewtypeDeriving"),(OverlappingInstances,"-XOverlappingInstances"),(UndecidableInstances,"-XUndecidableInstances"),(IncoherentInstances,"-XIncoherentInstances"),(PackageImports,"-XPackageImports"),(NewQualifiedOperators,"-XNewQualifiedOperators")]}, buildDir = "dist/build", scratchDir = "dist/scratch", libraryConfig = Nothing, executableConfigs = [("invalidMain",ComponentLocalBuildInfo {componentPackageDeps = [(InstalledPackageId "base-3.0.3.2-260693a92016991a03206b5a55f6a411",PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [3,0,3,2], versionTags = []}}),(InstalledPackageId "ghc-6.12.3-32f69115c5a977d5f19f8d159b76363d",PackageIdentifier {pkgName = PackageName "ghc", pkgVersion = Version {versionBranch = [6,12,3], versionTags = []}})]})], installedPkgs = PackageIndex (fromList [(InstalledPackageId "Cabal-1.8.0.6-fbc519b7543237abfa4d5d0af63aa9bb",InstalledPackageInfo {installedPackageId = InstalledPackageId "Cabal-1.8.0.6-fbc519b7543237abfa4d5d0af63aa9bb", sourcePackageId = PackageIdentifier {pkgName = PackageName "Cabal", pkgVersion = Version {versionBranch = [1,8,0,6], versionTags = []}}, license = BSD3, copyright = "2003-2006, Isaac Jones\n2005-2009, Duncan Coutts", maintainer = "cabal-devel@haskell.org", author = "Isaac Jones <ijones@syntaxpolice.org>\nDuncan Coutts <duncan@haskell.org>", stability = "", homepage = "http://www.haskell.org/cabal/", pkgUrl = "", description = "The Haskell Common Architecture for Building Applications and\nLibraries: a framework defining a common interface for authors to more\neasily build their Haskell applications in a portable way.\n\nThe Haskell Cabal is part of a larger infrastructure for distributing,\norganizing, and cataloging Haskell libraries and tools.", category = "Distribution", exposed = True, exposedModules = [ModuleName ["Distribution","Compiler"],ModuleName ["Distribution","InstalledPackageInfo"],ModuleName ["Distribution","License"],ModuleName ["Distribution","Make"],ModuleName ["Distribution","ModuleName"],ModuleName ["Distribution","Package"],ModuleName ["Distribution","PackageDescription"],ModuleName ["Distribution","PackageDescription","Configuration"],ModuleName ["Distribution","PackageDescription","Parse"],ModuleName ["Distribution","PackageDescription","Check"],ModuleName ["Distribution","ParseUtils"],ModuleName ["Distribution","ReadE"],ModuleName ["Distribution","Simple"],ModuleName ["Distribution","Simple","Build"],ModuleName ["Distribution","Simple","Build","Macros"],ModuleName ["Distribution","Simple","Build","PathsModule"],ModuleName ["Distribution","Simple","BuildPaths"],ModuleName ["Distribution","Simple","Command"],ModuleName ["Distribution","Simple","Compiler"],ModuleName ["Distribution","Simple","Configure"],ModuleName ["Distribution","Simple","GHC"],ModuleName ["Distribution","Simple","LHC"],ModuleName ["Distribution","Simple","Haddock"],ModuleName ["Distribution","Simple","Hugs"],ModuleName ["Distribution","Simple","Install"],ModuleName ["Distribution","Simple","InstallDirs"],ModuleName ["Distribution","Simple","JHC"],ModuleName ["Distribution","Simple","LocalBuildInfo"],ModuleName ["Distribution","Simple","NHC"],ModuleName ["Distribution","Simple","PackageIndex"],ModuleName ["Distribution","Simple","PreProcess"],ModuleName ["Distribution","Simple","PreProcess","Unlit"],ModuleName ["Distribution","Simple","Program"],ModuleName ["Distribution","Simple","Program","Ar"],ModuleName ["Distribution","Simple","Program","Builtin"],ModuleName ["Distribution","Simple","Program","Db"],ModuleName ["Distribution","Simple","Program","HcPkg"],ModuleName ["Distribution","Simple","Program","Ld"],ModuleName ["Distribution","Simple","Program","Run"],ModuleName ["Distribution","Simple","Program","Script"],ModuleName ["Distribution","Simple","Program","Types"],ModuleName ["Distribution","Simple","Register"],ModuleName ["Distribution","Simple","Setup"],ModuleName ["Distribution","Simple","SrcDist"],ModuleName ["Distribution","Simple","UserHooks"],ModuleName ["Distribution","Simple","Utils"],ModuleName ["Distribution","System"],ModuleName ["Distribution","Text"],ModuleName ["Distribution","Verbosity"],ModuleName ["Distribution","Version"],ModuleName ["Distribution","Compat","ReadP"],ModuleName ["Language","Haskell","Extension"]], hiddenModules = [ModuleName ["Distribution","GetOpt"],ModuleName ["Distribution","Compat","Exception"],ModuleName ["Distribution","Compat","CopyFile"],ModuleName ["Distribution","Compat","TempFile"],ModuleName ["Distribution","Simple","GHC","IPI641"],ModuleName ["Distribution","Simple","GHC","IPI642"]], importDirs = ["/usr/lib/ghc-6.12.3/Cabal-1.8.0.6"], libraryDirs = ["/usr/lib/ghc-6.12.3/Cabal-1.8.0.6"], hsLibraries = ["HSCabal-1.8.0.6"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "array-0.3.0.1-438000c197b51c147f229b54edbf632e",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379",InstalledPackageId "directory-1.0.1.1-f959a158a71fc63ca3822eaf49ec66dc",InstalledPackageId "filepath-1.1.0.4-c303c646a99c2a24d2402008d247eb5f",InstalledPackageId "old-time-1.0.0.5-45398fe9d274a4e0177157e25427aeec",InstalledPackageId "pretty-1.0.1.1-cde327683d86c8644fc9073c368cc5ea",InstalledPackageId "process-1.0.1.3-73f46aa4e6bf1a4f2f418a3c761e4e80",InstalledPackageId "unix-2.4.0.2-8b7fb1ebcdcb8db413d44db018f084d7"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/Cabal-1.8.0.6/Cabal.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/Cabal-1.8.0.6"]}),(InstalledPackageId "array-0.3.0.1-438000c197b51c147f229b54edbf632e",InstalledPackageInfo {installedPackageId = InstalledPackageId "array-0.3.0.1-438000c197b51c147f229b54edbf632e", sourcePackageId = PackageIdentifier {pkgName = PackageName "array", pkgVersion = Version {versionBranch = [0,3,0,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package defines the classes @IArray@ of immutable arrays and\n@MArray@ of arrays mutable within appropriate monads, as well as\nsome instances of these classes.", category = "Data Structures", exposed = True, exposedModules = [ModuleName ["Data","Array","Base"],ModuleName ["Data","Array","IArray"],ModuleName ["Data","Array","IO"],ModuleName ["Data","Array","IO","Internals"],ModuleName ["Data","Array","MArray"],ModuleName ["Data","Array","ST"],ModuleName ["Data","Array","Storable"],ModuleName ["Data","Array","Unboxed"],ModuleName ["Data","Array"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/array-0.3.0.1"], libraryDirs = ["/usr/lib/ghc-6.12.3/array-0.3.0.1"], hsLibraries = ["HSarray-0.3.0.1"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/array-0.3.0.1/array.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/array-0.3.0.1"]}),(InstalledPackageId "base-3.0.3.2-260693a92016991a03206b5a55f6a411",InstalledPackageInfo {installedPackageId = InstalledPackageId "base-3.0.3.2-260693a92016991a03206b5a55f6a411", sourcePackageId = PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [3,0,3,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This is a backwards-compatible version of the base package.\nIt depends on a later version of base, and was probably supplied\nwith your compiler when it was installed.", category = "", exposed = True, exposedModules = [ModuleName ["Data","Generics"],ModuleName ["Data","Generics","Aliases"],ModuleName ["Data","Generics","Basics"],ModuleName ["Data","Generics","Instances"],ModuleName ["Data","Generics","Schemes"],ModuleName ["Data","Generics","Text"],ModuleName ["Data","Generics","Twins"],ModuleName ["Foreign","Concurrent"],ModuleName ["GHC","Arr"],ModuleName ["GHC","Base"],ModuleName ["GHC","Conc"],ModuleName ["GHC","ConsoleHandler"],ModuleName ["GHC","Desugar"],ModuleName ["GHC","Dotnet"],ModuleName ["GHC","Enum"],ModuleName ["GHC","Environment"],ModuleName ["GHC","Err"],ModuleName ["GHC","Exception"],ModuleName ["GHC","Exts"],ModuleName ["GHC","Float"],ModuleName ["GHC","ForeignPtr"],ModuleName ["GHC","Handle"],ModuleName ["GHC","IO"],ModuleName ["GHC","IOBase"],ModuleName ["GHC","Int"],ModuleName ["GHC","List"],ModuleName ["GHC","Num"],ModuleName ["GHC","PArr"],ModuleName ["GHC","Pack"],ModuleName ["GHC","Ptr"],ModuleName ["GHC","Read"],ModuleName ["GHC","Real"],ModuleName ["GHC","ST"],ModuleName ["GHC","STRef"],ModuleName ["GHC","Show"],ModuleName ["GHC","Stable"],ModuleName ["GHC","Storable"],ModuleName ["GHC","TopHandler"],ModuleName ["GHC","Unicode"],ModuleName ["GHC","Weak"],ModuleName ["GHC","Word"],ModuleName ["System","Timeout"],ModuleName ["Control","Applicative"],ModuleName ["Control","Arrow"],ModuleName ["Control","Category"],ModuleName ["Control","Concurrent"],ModuleName ["Control","Concurrent","Chan"],ModuleName ["Control","Concurrent","MVar"],ModuleName ["Control","Concurrent","QSem"],ModuleName ["Control","Concurrent","QSemN"],ModuleName ["Control","Concurrent","SampleVar"],ModuleName ["Control","Exception"],ModuleName ["Control","Monad"],ModuleName ["Control","Monad","Fix"],ModuleName ["Control","Monad","Instances"],ModuleName ["Control","Monad","ST"],ModuleName ["Control","Monad","ST","Lazy"],ModuleName ["Control","Monad","ST","Strict"],ModuleName ["Data","Bits"],ModuleName ["Data","Bool"],ModuleName ["Data","Char"],ModuleName ["Data","Complex"],ModuleName ["Data","Dynamic"],ModuleName ["Data","Either"],ModuleName ["Data","Eq"],ModuleName ["Data","Fixed"],ModuleName ["Data","Foldable"],ModuleName ["Data","Function"],ModuleName ["Data","HashTable"],ModuleName ["Data","IORef"],ModuleName ["Data","Int"],ModuleName ["Data","Ix"],ModuleName ["Data","List"],ModuleName ["Data","Maybe"],ModuleName ["Data","Monoid"],ModuleName ["Data","Ord"],ModuleName ["Data","Ratio"],ModuleName ["Data","STRef"],ModuleName ["Data","STRef","Lazy"],ModuleName ["Data","STRef","Strict"],ModuleName ["Data","String"],ModuleName ["Data","Traversable"],ModuleName ["Data","Tuple"],ModuleName ["Data","Typeable"],ModuleName ["Data","Unique"],ModuleName ["Data","Version"],ModuleName ["Data","Word"],ModuleName ["Debug","Trace"],ModuleName ["Foreign"],ModuleName ["Foreign","C"],ModuleName ["Foreign","C","Error"],ModuleName ["Foreign","C","String"],ModuleName ["Foreign","C","Types"],ModuleName ["Foreign","ForeignPtr"],ModuleName ["Foreign","Marshal"],ModuleName ["Foreign","Marshal","Alloc"],ModuleName ["Foreign","Marshal","Array"],ModuleName ["Foreign","Marshal","Error"],ModuleName ["Foreign","Marshal","Pool"],ModuleName ["Foreign","Marshal","Utils"],ModuleName ["Foreign","Ptr"],ModuleName ["Foreign","StablePtr"],ModuleName ["Foreign","Storable"],ModuleName ["Numeric"],ModuleName ["Prelude"],ModuleName ["System","Console","GetOpt"],ModuleName ["System","CPUTime"],ModuleName ["System","Environment"],ModuleName ["System","Exit"],ModuleName ["System","IO"],ModuleName ["System","IO","Error"],ModuleName ["System","IO","Unsafe"],ModuleName ["System","Info"],ModuleName ["System","Mem"],ModuleName ["System","Mem","StableName"],ModuleName ["System","Mem","Weak"],ModuleName ["System","Posix","Internals"],ModuleName ["System","Posix","Types"],ModuleName ["Text","ParserCombinators","ReadP"],ModuleName ["Text","ParserCombinators","ReadPrec"],ModuleName ["Text","Printf"],ModuleName ["Text","Read"],ModuleName ["Text","Read","Lex"],ModuleName ["Text","Show"],ModuleName ["Text","Show","Functions"],ModuleName ["Unsafe","Coerce"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/base-3.0.3.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/base-3.0.3.2"], hsLibraries = ["HSbase-3.0.3.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "syb-0.1.0.2-0917873f366b0be90a48082271223b4e"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/base-3.0.3.2/base.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/base-3.0.3.2"]}),(InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageInfo {installedPackageId = InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3", sourcePackageId = PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [4,2,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains the Prelude and its support libraries,\nand a large collection of useful libraries ranging from data\nstructures to parsing combinators and debugging utilities.", category = "", exposed = True, exposedModules = [ModuleName ["Foreign","Concurrent"],ModuleName ["GHC","Arr"],ModuleName ["GHC","Base"],ModuleName ["GHC","Classes"],ModuleName ["GHC","Conc"],ModuleName ["GHC","ConsoleHandler"],ModuleName ["GHC","Constants"],ModuleName ["GHC","Desugar"],ModuleName ["GHC","Enum"],ModuleName ["GHC","Environment"],ModuleName ["GHC","Err"],ModuleName ["GHC","Exception"],ModuleName ["GHC","Exts"],ModuleName ["GHC","Float"],ModuleName ["GHC","ForeignPtr"],ModuleName ["GHC","MVar"],ModuleName ["GHC","IO"],ModuleName ["GHC","IO","IOMode"],ModuleName ["GHC","IO","Buffer"],ModuleName ["GHC","IO","Device"],ModuleName ["GHC","IO","BufferedIO"],ModuleName ["GHC","IO","FD"],ModuleName ["GHC","IO","Exception"],ModuleName ["GHC","IO","Encoding"],ModuleName ["GHC","IO","Encoding","Latin1"],ModuleName ["GHC","IO","Encoding","UTF8"],ModuleName ["GHC","IO","Encoding","UTF16"],ModuleName ["GHC","IO","Encoding","UTF32"],ModuleName ["GHC","IO","Encoding","Types"],ModuleName ["GHC","IO","Encoding","Iconv"],ModuleName ["GHC","IO","Encoding","CodePage"],ModuleName ["GHC","IO","Handle"],ModuleName ["GHC","IO","Handle","Types"],ModuleName ["GHC","IO","Handle","Internals"],ModuleName ["GHC","IO","Handle","FD"],ModuleName ["GHC","IO","Handle","Text"],ModuleName ["GHC","IOBase"],ModuleName ["GHC","Handle"],ModuleName ["GHC","IORef"],ModuleName ["GHC","IOArray"],ModuleName ["GHC","Int"],ModuleName ["GHC","List"],ModuleName ["GHC","Num"],ModuleName ["GHC","PArr"],ModuleName ["GHC","Pack"],ModuleName ["GHC","Ptr"],ModuleName ["GHC","Read"],ModuleName ["GHC","Real"],ModuleName ["GHC","ST"],ModuleName ["GHC","STRef"],ModuleName ["GHC","Show"],ModuleName ["GHC","Stable"],ModuleName ["GHC","Storable"],ModuleName ["GHC","TopHandler"],ModuleName ["GHC","Unicode"],ModuleName ["GHC","Weak"],ModuleName ["GHC","Word"],ModuleName ["System","Timeout"],ModuleName ["Control","Applicative"],ModuleName ["Control","Arrow"],ModuleName ["Control","Category"],ModuleName ["Control","Concurrent"],ModuleName ["Control","Concurrent","Chan"],ModuleName ["Control","Concurrent","MVar"],ModuleName ["Control","Concurrent","QSem"],ModuleName ["Control","Concurrent","QSemN"],ModuleName ["Control","Concurrent","SampleVar"],ModuleName ["Control","Exception"],ModuleName ["Control","Exception","Base"],ModuleName ["Control","OldException"],ModuleName ["Control","Monad"],ModuleName ["Control","Monad","Fix"],ModuleName ["Control","Monad","Instances"],ModuleName ["Control","Monad","ST"],ModuleName ["Control","Monad","ST","Lazy"],ModuleName ["Control","Monad","ST","Strict"],ModuleName ["Data","Bits"],ModuleName ["Data","Bool"],ModuleName ["Data","Char"],ModuleName ["Data","Complex"],ModuleName ["Data","Dynamic"],ModuleName ["Data","Either"],ModuleName ["Data","Eq"],ModuleName ["Data","Data"],ModuleName ["Data","Fixed"],ModuleName ["Data","Foldable"],ModuleName ["Data","Function"],ModuleName ["Data","Functor"],ModuleName ["Data","HashTable"],ModuleName ["Data","IORef"],ModuleName ["Data","Int"],ModuleName ["Data","Ix"],ModuleName ["Data","List"],ModuleName ["Data","Maybe"],ModuleName ["Data","Monoid"],ModuleName ["Data","Ord"],ModuleName ["Data","Ratio"],ModuleName ["Data","STRef"],ModuleName ["Data","STRef","Lazy"],ModuleName ["Data","STRef","Strict"],ModuleName ["Data","String"],ModuleName ["Data","Traversable"],ModuleName ["Data","Tuple"],ModuleName ["Data","Typeable"],ModuleName ["Data","Unique"],ModuleName ["Data","Version"],ModuleName ["Data","Word"],ModuleName ["Debug","Trace"],ModuleName ["Foreign"],ModuleName ["Foreign","C"],ModuleName ["Foreign","C","Error"],ModuleName ["Foreign","C","String"],ModuleName ["Foreign","C","Types"],ModuleName ["Foreign","ForeignPtr"],ModuleName ["Foreign","Marshal"],ModuleName ["Foreign","Marshal","Alloc"],ModuleName ["Foreign","Marshal","Array"],ModuleName ["Foreign","Marshal","Error"],ModuleName ["Foreign","Marshal","Pool"],ModuleName ["Foreign","Marshal","Utils"],ModuleName ["Foreign","Ptr"],ModuleName ["Foreign","StablePtr"],ModuleName ["Foreign","Storable"],ModuleName ["Numeric"],ModuleName ["Prelude"],ModuleName ["System","Console","GetOpt"],ModuleName ["System","CPUTime"],ModuleName ["System","Environment"],ModuleName ["System","Exit"],ModuleName ["System","IO"],ModuleName ["System","IO","Error"],ModuleName ["System","IO","Unsafe"],ModuleName ["System","Info"],ModuleName ["System","Mem"],ModuleName ["System","Mem","StableName"],ModuleName ["System","Mem","Weak"],ModuleName ["System","Posix","Internals"],ModuleName ["System","Posix","Types"],ModuleName ["Text","ParserCombinators","ReadP"],ModuleName ["Text","ParserCombinators","ReadPrec"],ModuleName ["Text","Printf"],ModuleName ["Text","Read"],ModuleName ["Text","Read","Lex"],ModuleName ["Text","Show"],ModuleName ["Text","Show","Functions"],ModuleName ["Unsafe","Coerce"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/base-4.2.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/base-4.2.0.2"], hsLibraries = ["HSbase-4.2.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/base-4.2.0.2/include"], includes = ["HsBase.h"], depends = [InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11",InstalledPackageId "integer-gmp-0.2.0.1-72436e28c79d056c87cc0d2d2f9f3773",InstalledPackageId "builtin_rts"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/base-4.2.0.2/base.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/base-4.2.0.2"]}),(InstalledPackageId "bin-package-db-0.0.0.0-0dffb74a73bb78b5dc02ca941bbcbea0",InstalledPackageInfo {installedPackageId = InstalledPackageId "bin-package-db-0.0.0.0-0dffb74a73bb78b5dc02ca941bbcbea0", sourcePackageId = PackageIdentifier {pkgName = PackageName "bin-package-db", pkgVersion = Version {versionBranch = [0,0,0,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "cvs-ghc@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "", category = "", exposed = True, exposedModules = [ModuleName ["Distribution","InstalledPackageInfo","Binary"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/bin-package-db-0.0.0.0"], libraryDirs = ["/usr/lib/ghc-6.12.3/bin-package-db-0.0.0.0"], hsLibraries = ["HSbin-package-db-0.0.0.0"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "Cabal-1.8.0.6-fbc519b7543237abfa4d5d0af63aa9bb",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "ghc-binary-0.5.0.2-65e476e80633fdb913f3a18a211c7d06"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/bin-package-db-0.0.0.0/bin-package-db.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/bin-package-db-0.0.0.0"]}),(InstalledPackageId "builtin_ffi",InstalledPackageInfo {installedPackageId = InstalledPackageId "builtin_ffi", sourcePackageId = PackageIdentifier {pkgName = PackageName "ffi", pkgVersion = Version {versionBranch = [1,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "glasgow-haskell-users@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "", category = "", exposed = True, exposedModules = [], hiddenModules = [], importDirs = [], libraryDirs = ["/usr/lib/ghc-6.12.3"], hsLibraries = ["HSffi"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/include"], includes = [], depends = [], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = [], haddockHTMLs = []}),(InstalledPackageId "builtin_rts",InstalledPackageInfo {installedPackageId = InstalledPackageId "builtin_rts", sourcePackageId = PackageIdentifier {pkgName = PackageName "rts", pkgVersion = Version {versionBranch = [1,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "glasgow-haskell-users@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "", category = "", exposed = True, exposedModules = [], hiddenModules = [], importDirs = [], libraryDirs = ["/usr/lib/ghc-6.12.3"], hsLibraries = ["HSrts"], extraLibraries = ["m","rt","dl"], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/include"], includes = ["Stg.h"], depends = [InstalledPackageId "builtin_ffi"], hugsOptions = [], ccOptions = [], ldOptions = ["-u","ghczmprim_GHCziTypes_Izh_static_info","-u","ghczmprim_GHCziTypes_Czh_static_info","-u","ghczmprim_GHCziTypes_Fzh_static_info","-u","ghczmprim_GHCziTypes_Dzh_static_info","-u","base_GHCziPtr_Ptr_static_info","-u","base_GHCziWord_Wzh_static_info","-u","base_GHCziInt_I8zh_static_info","-u","base_GHCziInt_I16zh_static_info","-u","base_GHCziInt_I32zh_static_info","-u","base_GHCziInt_I64zh_static_info","-u","base_GHCziWord_W8zh_static_info","-u","base_GHCziWord_W16zh_static_info","-u","base_GHCziWord_W32zh_static_info","-u","base_GHCziWord_W64zh_static_info","-u","base_GHCziStable_StablePtr_static_info","-u","ghczmprim_GHCziTypes_Izh_con_info","-u","ghczmprim_GHCziTypes_Czh_con_info","-u","ghczmprim_GHCziTypes_Fzh_con_info","-u","ghczmprim_GHCziTypes_Dzh_con_info","-u","base_GHCziPtr_Ptr_con_info","-u","base_GHCziPtr_FunPtr_con_info","-u","base_GHCziStable_StablePtr_con_info","-u","ghczmprim_GHCziBool_False_closure","-u","ghczmprim_GHCziBool_True_closure","-u","base_GHCziPack_unpackCString_closure","-u","base_GHCziIOziException_stackOverflow_closure","-u","base_GHCziIOziException_heapOverflow_closure","-u","base_ControlziExceptionziBase_nonTermination_closure","-u","base_GHCziIOziException_blockedIndefinitelyOnMVar_closure","-u","base_GHCziIOziException_blockedIndefinitelyOnSTM_closure","-u","base_ControlziExceptionziBase_nestedAtomically_closure","-u","base_GHCziWeak_runFinalizzerBatch_closure","-u","base_GHCziTopHandler_runIO_closure","-u","base_GHCziTopHandler_runNonIO_closure","-u","base_GHCziConc_ensureIOManagerIsRunning_closure","-u","base_GHCziConc_runSparks_closure","-u","base_GHCziConc_runHandlers_closure"], frameworkDirs = [], frameworks = [], haddockInterfaces = [], haddockHTMLs = []}),(InstalledPackageId "bytestring-0.9.1.7-e4f5efe6019d4771130f5cd8d3216b38",InstalledPackageInfo {installedPackageId = InstalledPackageId "bytestring-0.9.1.7-e4f5efe6019d4771130f5cd8d3216b38", sourcePackageId = PackageIdentifier {pkgName = PackageName "bytestring", pkgVersion = Version {versionBranch = [0,9,1,7], versionTags = []}}, license = BSD3, copyright = "Copyright (c) Don Stewart   2005-2009,\n(c) Duncan Coutts 2006-2009,\n(c) David Roundy  2003-2005.", maintainer = "dons@galois.com, duncan@haskell.org", author = "Don Stewart, Duncan Coutts", stability = "", homepage = "http://www.cse.unsw.edu.au/~dons/fps.html", pkgUrl = "", description = "A time and space-efficient implementation of byte vectors using\npacked Word8 arrays, suitable for high performance use, both in terms\nof large data quantities, or high speed requirements. Byte vectors\nare encoded as strict 'Word8' arrays of bytes, and lazy lists of\nstrict chunks, held in a 'ForeignPtr', and can be passed between C\nand Haskell with little effort.\n\nTest coverage data for this library is available at:\n<http://code.haskell.org/~dons/tests/bytestring/hpc_index.html>", category = "Data", exposed = True, exposedModules = [ModuleName ["Data","ByteString"],ModuleName ["Data","ByteString","Char8"],ModuleName ["Data","ByteString","Unsafe"],ModuleName ["Data","ByteString","Internal"],ModuleName ["Data","ByteString","Lazy"],ModuleName ["Data","ByteString","Lazy","Char8"],ModuleName ["Data","ByteString","Lazy","Internal"],ModuleName ["Data","ByteString","Fusion"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/bytestring-0.9.1.7"], libraryDirs = ["/usr/lib/ghc-6.12.3/bytestring-0.9.1.7"], hsLibraries = ["HSbytestring-0.9.1.7"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/bytestring-0.9.1.7/include"], includes = ["fpstring.h"], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/bytestring-0.9.1.7/bytestring.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/bytestring-0.9.1.7"]}),(InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379",InstalledPackageInfo {installedPackageId = InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379", sourcePackageId = PackageIdentifier {pkgName = PackageName "containers", pkgVersion = Version {versionBranch = [0,3,0,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains efficient general-purpose implementations\nof various basic immutable container types.  The declared cost of\neach operation is either worst-case or amortized, but remains\nvalid even if structures are shared.", category = "Data Structures", exposed = True, exposedModules = [ModuleName ["Data","Graph"],ModuleName ["Data","IntMap"],ModuleName ["Data","IntSet"],ModuleName ["Data","Map"],ModuleName ["Data","Sequence"],ModuleName ["Data","Set"],ModuleName ["Data","Tree"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/containers-0.3.0.0"], libraryDirs = ["/usr/lib/ghc-6.12.3/containers-0.3.0.0"], hsLibraries = ["HScontainers-0.3.0.0"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "array-0.3.0.1-438000c197b51c147f229b54edbf632e",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/containers.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/containers-0.3.0.0"]}),(InstalledPackageId "directory-1.0.1.1-f959a158a71fc63ca3822eaf49ec66dc",InstalledPackageInfo {installedPackageId = InstalledPackageId "directory-1.0.1.1-f959a158a71fc63ca3822eaf49ec66dc", sourcePackageId = PackageIdentifier {pkgName = PackageName "directory", pkgVersion = Version {versionBranch = [1,0,1,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package provides a library for handling directories.", category = "System", exposed = True, exposedModules = [ModuleName ["System","Directory"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/directory-1.0.1.1"], libraryDirs = ["/usr/lib/ghc-6.12.3/directory-1.0.1.1"], hsLibraries = ["HSdirectory-1.0.1.1"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/directory-1.0.1.1/include"], includes = ["HsDirectory.h"], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "filepath-1.1.0.4-c303c646a99c2a24d2402008d247eb5f",InstalledPackageId "old-time-1.0.0.5-45398fe9d274a4e0177157e25427aeec",InstalledPackageId "unix-2.4.0.2-8b7fb1ebcdcb8db413d44db018f084d7"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/directory-1.0.1.1/directory.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/directory-1.0.1.1"]}),(InstalledPackageId "filepath-1.1.0.4-c303c646a99c2a24d2402008d247eb5f",InstalledPackageInfo {installedPackageId = InstalledPackageId "filepath-1.1.0.4-c303c646a99c2a24d2402008d247eb5f", sourcePackageId = PackageIdentifier {pkgName = PackageName "filepath", pkgVersion = Version {versionBranch = [1,1,0,4], versionTags = []}}, license = BSD3, copyright = "", maintainer = "", author = "Neil Mitchell", stability = "", homepage = "http://www-users.cs.york.ac.uk/~ndm/filepath/", pkgUrl = "", description = "", category = "System", exposed = True, exposedModules = [ModuleName ["System","FilePath"],ModuleName ["System","FilePath","Posix"],ModuleName ["System","FilePath","Windows"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/filepath-1.1.0.4"], libraryDirs = ["/usr/lib/ghc-6.12.3/filepath-1.1.0.4"], hsLibraries = ["HSfilepath-1.1.0.4"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/filepath-1.1.0.4/filepath.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/filepath-1.1.0.4"]}),(InstalledPackageId "ghc-6.12.3-32f69115c5a977d5f19f8d159b76363d",InstalledPackageInfo {installedPackageId = InstalledPackageId "ghc-6.12.3-32f69115c5a977d5f19f8d159b76363d", sourcePackageId = PackageIdentifier {pkgName = PackageName "ghc", pkgVersion = Version {versionBranch = [6,12,3], versionTags = []}}, license = BSD3, copyright = "", maintainer = "glasgow-haskell-users@haskell.org", author = "The GHC Team", stability = "", homepage = "http://www.haskell.org/ghc/", pkgUrl = "", description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.", category = "Development", exposed = False, exposedModules = [ModuleName ["AsmCodeGen"],ModuleName ["TargetReg"],ModuleName ["NCGMonad"],ModuleName ["Instruction"],ModuleName ["Size"],ModuleName ["Reg"],ModuleName ["RegClass"],ModuleName ["PprBase"],ModuleName ["PIC"],ModuleName ["Platform"],ModuleName ["Alpha","Regs"],ModuleName ["Alpha","RegInfo"],ModuleName ["Alpha","Instr"],ModuleName ["Alpha","CodeGen"],ModuleName ["X86","Regs"],ModuleName ["X86","RegInfo"],ModuleName ["X86","Instr"],ModuleName ["X86","Cond"],ModuleName ["X86","Ppr"],ModuleName ["X86","CodeGen"],ModuleName ["PPC","Regs"],ModuleName ["PPC","RegInfo"],ModuleName ["PPC","Instr"],ModuleName ["PPC","Cond"],ModuleName ["PPC","Ppr"],ModuleName ["PPC","CodeGen"],ModuleName ["SPARC","Base"],ModuleName ["SPARC","Regs"],ModuleName ["SPARC","RegPlate"],ModuleName ["SPARC","Imm"],ModuleName ["SPARC","AddrMode"],ModuleName ["SPARC","Cond"],ModuleName ["SPARC","Instr"],ModuleName ["SPARC","Stack"],ModuleName ["SPARC","ShortcutJump"],ModuleName ["SPARC","Ppr"],ModuleName ["SPARC","CodeGen"],ModuleName ["SPARC","CodeGen","Amode"],ModuleName ["SPARC","CodeGen","Base"],ModuleName ["SPARC","CodeGen","CCall"],ModuleName ["SPARC","CodeGen","CondCode"],ModuleName ["SPARC","CodeGen","Gen32"],ModuleName ["SPARC","CodeGen","Gen64"],ModuleName ["SPARC","CodeGen","Sanity"],ModuleName ["SPARC","CodeGen","Expand"],ModuleName ["RegAlloc","Liveness"],ModuleName ["RegAlloc","Graph","Main"],ModuleName ["RegAlloc","Graph","Stats"],ModuleName ["RegAlloc","Graph","ArchBase"],ModuleName ["RegAlloc","Graph","ArchX86"],ModuleName ["RegAlloc","Graph","Coalesce"],ModuleName ["RegAlloc","Graph","Spill"],ModuleName ["RegAlloc","Graph","SpillClean"],ModuleName ["RegAlloc","Graph","SpillCost"],ModuleName ["RegAlloc","Graph","TrivColorable"],ModuleName ["RegAlloc","Linear","Main"],ModuleName ["RegAlloc","Linear","JoinToTargets"],ModuleName ["RegAlloc","Linear","State"],ModuleName ["RegAlloc","Linear","Stats"],ModuleName ["RegAlloc","Linear","FreeRegs"],ModuleName ["RegAlloc","Linear","StackMap"],ModuleName ["RegAlloc","Linear","Base"],ModuleName ["RegAlloc","Linear","X86","FreeRegs"],ModuleName ["RegAlloc","Linear","PPC","FreeRegs"],ModuleName ["RegAlloc","Linear","SPARC","FreeRegs"],ModuleName ["DsMeta"],ModuleName ["TcSplice"],ModuleName ["Convert"],ModuleName ["ByteCodeAsm"],ModuleName ["ByteCodeFFI"],ModuleName ["ByteCodeGen"],ModuleName ["ByteCodeInstr"],ModuleName ["ByteCodeItbls"],ModuleName ["ByteCodeLink"],ModuleName ["Debugger"],ModuleName ["LibFFI"],ModuleName ["Linker"],ModuleName ["ObjLink"],ModuleName ["RtClosureInspect"],ModuleName ["BasicTypes"],ModuleName ["DataCon"],ModuleName ["Demand"],ModuleName ["Exception"],ModuleName ["Id"],ModuleName ["IdInfo"],ModuleName ["Literal"],ModuleName ["MkId"],ModuleName ["Module"],ModuleName ["Name"],ModuleName ["NameEnv"],ModuleName ["NameSet"],ModuleName ["NewDemand"],ModuleName ["OccName"],ModuleName ["RdrName"],ModuleName ["SrcLoc"],ModuleName ["UniqSupply"],ModuleName ["Unique"],ModuleName ["Var"],ModuleName ["VarEnv"],ModuleName ["VarSet"],ModuleName ["BlockId"],ModuleName ["CLabel"],ModuleName ["Cmm"],ModuleName ["CmmBrokenBlock"],ModuleName ["CmmBuildInfoTables"],ModuleName ["CmmCPS"],ModuleName ["CmmCPSGen"],ModuleName ["CmmCPSZ"],ModuleName ["CmmCallConv"],ModuleName ["CmmCommonBlockElimZ"],ModuleName ["CmmContFlowOpt"],ModuleName ["CmmCvt"],ModuleName ["CmmExpr"],ModuleName ["CmmInfo"],ModuleName ["CmmLex"],ModuleName ["CmmLint"],ModuleName ["CmmLive"],ModuleName ["CmmLiveZ"],ModuleName ["CmmOpt"],ModuleName ["CmmParse"],ModuleName ["CmmProcPoint"],ModuleName ["CmmProcPointZ"],ModuleName ["CmmSpillReload"],ModuleName ["CmmStackLayout"],ModuleName ["CmmTx"],ModuleName ["CmmUtils"],ModuleName ["CmmZipUtil"],ModuleName ["DFMonad"],ModuleName ["Dataflow"],ModuleName ["MkZipCfg"],ModuleName ["MkZipCfgCmm"],ModuleName ["OptimizationFuel"],ModuleName ["PprC"],ModuleName ["PprCmm"],ModuleName ["PprCmmZ"],ModuleName ["StackColor"],ModuleName ["StackPlacements"],ModuleName ["ZipCfg"],ModuleName ["ZipCfgCmmRep"],ModuleName ["ZipCfgExtras"],ModuleName ["ZipDataflow"],ModuleName ["Bitmap"],ModuleName ["CgBindery"],ModuleName ["CgCallConv"],ModuleName ["CgCase"],ModuleName ["CgClosure"],ModuleName ["CgCon"],ModuleName ["CgExpr"],ModuleName ["CgForeignCall"],ModuleName ["CgHeapery"],ModuleName ["CgHpc"],ModuleName ["CgInfoTbls"],ModuleName ["CgLetNoEscape"],ModuleName ["CgMonad"],ModuleName ["CgParallel"],ModuleName ["CgPrimOp"],ModuleName ["CgProf"],ModuleName ["CgStackery"],ModuleName ["CgTailCall"],ModuleName ["CgTicky"],ModuleName ["CgUtils"],ModuleName ["StgCmm"],ModuleName ["StgCmmBind"],ModuleName ["StgCmmClosure"],ModuleName ["StgCmmCon"],ModuleName ["StgCmmEnv"],ModuleName ["StgCmmExpr"],ModuleName ["StgCmmForeign"],ModuleName ["StgCmmGran"],ModuleName ["StgCmmHeap"],ModuleName ["StgCmmHpc"],ModuleName ["StgCmmLayout"],ModuleName ["StgCmmMonad"],ModuleName ["StgCmmPrim"],ModuleName ["StgCmmProf"],ModuleName ["StgCmmTicky"],ModuleName ["StgCmmUtils"],ModuleName ["ClosureInfo"],ModuleName ["CodeGen"],ModuleName ["SMRep"],ModuleName ["CoreArity"],ModuleName ["CoreFVs"],ModuleName ["CoreLint"],ModuleName ["CorePrep"],ModuleName ["CoreSubst"],ModuleName ["CoreSyn"],ModuleName ["CoreTidy"],ModuleName ["CoreUnfold"],ModuleName ["CoreUtils"],ModuleName ["ExternalCore"],ModuleName ["MkCore"],ModuleName ["MkExternalCore"],ModuleName ["PprCore"],ModuleName ["PprExternalCore"],ModuleName ["CprAnalyse"],ModuleName ["Check"],ModuleName ["Coverage"],ModuleName ["Desugar"],ModuleName ["DsArrows"],ModuleName ["DsBinds"],ModuleName ["DsCCall"],ModuleName ["DsExpr"],ModuleName ["DsForeign"],ModuleName ["DsGRHSs"],ModuleName ["DsListComp"],ModuleName ["DsMonad"],ModuleName ["DsUtils"],ModuleName ["Match"],ModuleName ["MatchCon"],ModuleName ["MatchLit"],ModuleName ["HsBinds"],ModuleName ["HsDecls"],ModuleName ["HsDoc"],ModuleName ["HsExpr"],ModuleName ["HsImpExp"],ModuleName ["HsLit"],ModuleName ["HsPat"],ModuleName ["HsSyn"],ModuleName ["HsTypes"],ModuleName ["HsUtils"],ModuleName ["BinIface"],ModuleName ["BuildTyCl"],ModuleName ["IfaceEnv"],ModuleName ["IfaceSyn"],ModuleName ["IfaceType"],ModuleName ["LoadIface"],ModuleName ["MkIface"],ModuleName ["TcIface"],ModuleName ["Annotations"],ModuleName ["BreakArray"],ModuleName ["CmdLineParser"],ModuleName ["CodeOutput"],ModuleName ["Config"],ModuleName ["Constants"],ModuleName ["DriverMkDepend"],ModuleName ["DriverPhases"],ModuleName ["DriverPipeline"],ModuleName ["DynFlags"],ModuleName ["ErrUtils"],ModuleName ["Finder"],ModuleName ["GHC"],ModuleName ["HeaderInfo"],ModuleName ["HscMain"],ModuleName ["HscStats"],ModuleName ["HscTypes"],ModuleName ["InteractiveEval"],ModuleName ["PackageConfig"],ModuleName ["Packages"],ModuleName ["PprTyThing"],ModuleName ["StaticFlags"],ModuleName ["StaticFlagParser"],ModuleName ["SysTools"],ModuleName ["TidyPgm"],ModuleName ["Ctype"],ModuleName ["HaddockUtils"],ModuleName ["LexCore"],ModuleName ["Lexer"],ModuleName ["Parser"],ModuleName ["ParserCore"],ModuleName ["ParserCoreUtils"],ModuleName ["RdrHsSyn"],ModuleName ["ForeignCall"],ModuleName ["PrelInfo"],ModuleName ["PrelNames"],ModuleName ["PrelRules"],ModuleName ["PrimOp"],ModuleName ["TysPrim"],ModuleName ["TysWiredIn"],ModuleName ["CostCentre"],ModuleName ["SCCfinal"],ModuleName ["RnBinds"],ModuleName ["RnEnv"],ModuleName ["RnExpr"],ModuleName ["RnHsDoc"],ModuleName ["RnHsSyn"],ModuleName ["RnNames"],ModuleName ["RnPat"],ModuleName ["RnSource"],ModuleName ["RnTypes"],ModuleName ["CoreMonad"],ModuleName ["CSE"],ModuleName ["FloatIn"],ModuleName ["FloatOut"],ModuleName ["LiberateCase"],ModuleName ["OccurAnal"],ModuleName ["SAT"],ModuleName ["SetLevels"],ModuleName ["SimplCore"],ModuleName ["SimplEnv"],ModuleName ["SimplMonad"],ModuleName ["SimplUtils"],ModuleName ["Simplify"],ModuleName ["SRT"],ModuleName ["SimplStg"],ModuleName ["StgStats"],ModuleName ["Rules"],ModuleName ["SpecConstr"],ModuleName ["Specialise"],ModuleName ["CoreToStg"],ModuleName ["StgLint"],ModuleName ["StgSyn"],ModuleName ["DmdAnal"],ModuleName ["SaAbsInt"],ModuleName ["SaLib"],ModuleName ["StrictAnal"],ModuleName ["WorkWrap"],ModuleName ["WwLib"],ModuleName ["FamInst"],ModuleName ["Inst"],ModuleName ["TcAnnotations"],ModuleName ["TcArrows"],ModuleName ["TcBinds"],ModuleName ["TcClassDcl"],ModuleName ["TcDefaults"],ModuleName ["TcDeriv"],ModuleName ["TcEnv"],ModuleName ["TcExpr"],ModuleName ["TcForeign"],ModuleName ["TcGenDeriv"],ModuleName ["TcHsSyn"],ModuleName ["TcHsType"],ModuleName ["TcInstDcls"],ModuleName ["TcMType"],ModuleName ["TcMatches"],ModuleName ["TcPat"],ModuleName ["TcRnDriver"],ModuleName ["TcRnMonad"],ModuleName ["TcRnTypes"],ModuleName ["TcRules"],ModuleName ["TcSimplify"],ModuleName ["TcTyClsDecls"],ModuleName ["TcTyDecls"],ModuleName ["TcTyFuns"],ModuleName ["TcType"],ModuleName ["TcUnify"],ModuleName ["Class"],ModuleName ["Coercion"],ModuleName ["FamInstEnv"],ModuleName ["FunDeps"],ModuleName ["Generics"],ModuleName ["InstEnv"],ModuleName ["TyCon"],ModuleName ["Type"],ModuleName ["TypeRep"],ModuleName ["Unify"],ModuleName ["Bag"],ModuleName ["Binary"],ModuleName ["BufWrite"],ModuleName ["Digraph"],ModuleName ["Encoding"],ModuleName ["FastBool"],ModuleName ["FastFunctions"],ModuleName ["FastMutInt"],ModuleName ["FastString"],ModuleName ["FastTypes"],ModuleName ["Fingerprint"],ModuleName ["FiniteMap"],ModuleName ["GraphBase"],ModuleName ["GraphColor"],ModuleName ["GraphOps"],ModuleName ["GraphPpr"],ModuleName ["IOEnv"],ModuleName ["Interval"],ModuleName ["LazyUniqFM"],ModuleName ["ListSetOps"],ModuleName ["Maybes"],ModuleName ["MonadUtils"],ModuleName ["OrdList"],ModuleName ["Outputable"],ModuleName ["Panic"],ModuleName ["Pretty"],ModuleName ["Serialized"],ModuleName ["State"],ModuleName ["StringBuffer"],ModuleName ["UniqFM"],ModuleName ["UniqSet"],ModuleName ["Util"],ModuleName ["VectBuiltIn"],ModuleName ["VectCore"],ModuleName ["VectMonad"],ModuleName ["VectType"],ModuleName ["VectUtils"],ModuleName ["Vectorise"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/ghc-6.12.3"], libraryDirs = ["/usr/lib/ghc-6.12.3/ghc-6.12.3"], hsLibraries = ["HSghc-6.12.3"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/ghc-6.12.3/include"], includes = [], depends = [InstalledPackageId "Cabal-1.8.0.6-fbc519b7543237abfa4d5d0af63aa9bb",InstalledPackageId "array-0.3.0.1-438000c197b51c147f229b54edbf632e",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "bin-package-db-0.0.0.0-0dffb74a73bb78b5dc02ca941bbcbea0",InstalledPackageId "bytestring-0.9.1.7-e4f5efe6019d4771130f5cd8d3216b38",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379",InstalledPackageId "directory-1.0.1.1-f959a158a71fc63ca3822eaf49ec66dc",InstalledPackageId "filepath-1.1.0.4-c303c646a99c2a24d2402008d247eb5f",InstalledPackageId "hpc-0.5.0.5-3f3ed89da2117953d6ef3acc2332a32b",InstalledPackageId "old-time-1.0.0.5-45398fe9d274a4e0177157e25427aeec",InstalledPackageId "process-1.0.1.3-73f46aa4e6bf1a4f2f418a3c761e4e80",InstalledPackageId "template-haskell-2.4.0.1-bf08798b1934e4d6a3f903f58e0d5159",InstalledPackageId "unix-2.4.0.2-8b7fb1ebcdcb8db413d44db018f084d7"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/ghc-6.12.3/ghc.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/ghc-6.12.3"]}),(InstalledPackageId "ghc-binary-0.5.0.2-65e476e80633fdb913f3a18a211c7d06",InstalledPackageInfo {installedPackageId = InstalledPackageId "ghc-binary-0.5.0.2-65e476e80633fdb913f3a18a211c7d06", sourcePackageId = PackageIdentifier {pkgName = PackageName "ghc-binary", pkgVersion = Version {versionBranch = [0,5,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "Lennart Kolmodin, Don Stewart <dons@galois.com>", author = "Lennart Kolmodin <kolmodin@dtek.chalmers.se>", stability = "provisional", homepage = "http://code.haskell.org/binary/", pkgUrl = "", description = "Efficient, pure binary serialisation using lazy ByteStrings.\nHaskell values may be encoded to and from binary formats,\nwritten to disk as binary, or sent over the network.\nSerialisation speeds of over 1 G\\/sec have been observed,\nso this library should be suitable for high performance\nscenarios.", category = "Data, Parsing", exposed = False, exposedModules = [ModuleName ["Data","Binary"],ModuleName ["Data","Binary","Put"],ModuleName ["Data","Binary","Get"],ModuleName ["Data","Binary","Builder"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/ghc-binary-0.5.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/ghc-binary-0.5.0.2"], hsLibraries = ["HSghc-binary-0.5.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "array-0.3.0.1-438000c197b51c147f229b54edbf632e",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "bytestring-0.9.1.7-e4f5efe6019d4771130f5cd8d3216b38",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/ghc-binary-0.5.0.2/ghc-binary.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/ghc-binary-0.5.0.2"]}),(InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11",InstalledPackageInfo {installedPackageId = InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11", sourcePackageId = PackageIdentifier {pkgName = PackageName "ghc-prim", pkgVersion = Version {versionBranch = [0,2,0,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "GHC primitives.", category = "", exposed = True, exposedModules = [ModuleName ["GHC","Prim"],ModuleName ["GHC","Bool"],ModuleName ["GHC","Debug"],ModuleName ["GHC","Generics"],ModuleName ["GHC","Ordering"],ModuleName ["GHC","PrimopWrappers"],ModuleName ["GHC","IntWord32"],ModuleName ["GHC","IntWord64"],ModuleName ["GHC","Tuple"],ModuleName ["GHC","Types"],ModuleName ["GHC","Unit"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/ghc-prim-0.2.0.0"], libraryDirs = ["/usr/lib/ghc-6.12.3/ghc-prim-0.2.0.0"], hsLibraries = ["HSghc-prim-0.2.0.0"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "builtin_rts"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/ghc-prim.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0"]}),(InstalledPackageId "hpc-0.5.0.5-3f3ed89da2117953d6ef3acc2332a32b",InstalledPackageInfo {installedPackageId = InstalledPackageId "hpc-0.5.0.5-3f3ed89da2117953d6ef3acc2332a32b", sourcePackageId = PackageIdentifier {pkgName = PackageName "hpc", pkgVersion = Version {versionBranch = [0,5,0,5], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "Andy Gill", stability = "", homepage = "", pkgUrl = "", description = "", category = "Control", exposed = True, exposedModules = [ModuleName ["Trace","Hpc","Util"],ModuleName ["Trace","Hpc","Mix"],ModuleName ["Trace","Hpc","Tix"],ModuleName ["Trace","Hpc","Reflect"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/hpc-0.5.0.5"], libraryDirs = ["/usr/lib/ghc-6.12.3/hpc-0.5.0.5"], hsLibraries = ["HShpc-0.5.0.5"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379",InstalledPackageId "directory-1.0.1.1-f959a158a71fc63ca3822eaf49ec66dc",InstalledPackageId "old-time-1.0.0.5-45398fe9d274a4e0177157e25427aeec"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/hpc-0.5.0.5/hpc.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/hpc-0.5.0.5"]}),(InstalledPackageId "integer-gmp-0.2.0.1-72436e28c79d056c87cc0d2d2f9f3773",InstalledPackageInfo {installedPackageId = InstalledPackageId "integer-gmp-0.2.0.1-72436e28c79d056c87cc0d2d2f9f3773", sourcePackageId = PackageIdentifier {pkgName = PackageName "integer-gmp", pkgVersion = Version {versionBranch = [0,2,0,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains an Integer library based on GMP.", category = "", exposed = True, exposedModules = [ModuleName ["GHC","Integer"],ModuleName ["GHC","Integer","GMP","Internals"]], hiddenModules = [ModuleName ["GHC","Integer","Type"]], importDirs = ["/usr/lib/ghc-6.12.3/integer-gmp-0.2.0.1"], libraryDirs = ["/usr/lib/ghc-6.12.3/integer-gmp-0.2.0.1"], hsLibraries = ["HSinteger-gmp-0.2.0.1"], extraLibraries = ["gmp"], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/integer-gmp-0.2.0.1/integer-gmp.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/integer-gmp-0.2.0.1"]}),(InstalledPackageId "old-locale-1.0.0.2-0c1a4b40f2d3b9f6b725f54c00fe0923",InstalledPackageInfo {installedPackageId = InstalledPackageId "old-locale-1.0.0.2-0c1a4b40f2d3b9f6b725f54c00fe0923", sourcePackageId = PackageIdentifier {pkgName = PackageName "old-locale", pkgVersion = Version {versionBranch = [1,0,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package provides the old locale library.\nFor new code, the new locale library is recommended.", category = "System", exposed = True, exposedModules = [ModuleName ["System","Locale"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/old-locale-1.0.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/old-locale-1.0.0.2"], hsLibraries = ["HSold-locale-1.0.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/old-locale-1.0.0.2/old-locale.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/old-locale-1.0.0.2"]}),(InstalledPackageId "old-time-1.0.0.5-45398fe9d274a4e0177157e25427aeec",InstalledPackageInfo {installedPackageId = InstalledPackageId "old-time-1.0.0.5-45398fe9d274a4e0177157e25427aeec", sourcePackageId = PackageIdentifier {pkgName = PackageName "old-time", pkgVersion = Version {versionBranch = [1,0,0,5], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package provides the old time library.\nFor new code, the new time library is recommended.", category = "System", exposed = True, exposedModules = [ModuleName ["System","Time"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/old-time-1.0.0.5"], libraryDirs = ["/usr/lib/ghc-6.12.3/old-time-1.0.0.5"], hsLibraries = ["HSold-time-1.0.0.5"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/old-time-1.0.0.5/include"], includes = ["HsTime.h"], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "old-locale-1.0.0.2-0c1a4b40f2d3b9f6b725f54c00fe0923"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/old-time-1.0.0.5/old-time.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/old-time-1.0.0.5"]}),(InstalledPackageId "pretty-1.0.1.1-cde327683d86c8644fc9073c368cc5ea",InstalledPackageInfo {installedPackageId = InstalledPackageId "pretty-1.0.1.1-cde327683d86c8644fc9073c368cc5ea", sourcePackageId = PackageIdentifier {pkgName = PackageName "pretty", pkgVersion = Version {versionBranch = [1,0,1,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains John Hughes's pretty-printing library,\nheavily modified by Simon Peyton Jones.", category = "Text", exposed = True, exposedModules = [ModuleName ["Text","PrettyPrint"],ModuleName ["Text","PrettyPrint","HughesPJ"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/pretty-1.0.1.1"], libraryDirs = ["/usr/lib/ghc-6.12.3/pretty-1.0.1.1"], hsLibraries = ["HSpretty-1.0.1.1"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/pretty-1.0.1.1/pretty.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/pretty-1.0.1.1"]}),(InstalledPackageId "process-1.0.1.3-73f46aa4e6bf1a4f2f418a3c761e4e80",InstalledPackageInfo {installedPackageId = InstalledPackageId "process-1.0.1.3-73f46aa4e6bf1a4f2f418a3c761e4e80", sourcePackageId = PackageIdentifier {pkgName = PackageName "process", pkgVersion = Version {versionBranch = [1,0,1,3], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains libraries for dealing with system processes.", category = "System", exposed = True, exposedModules = [ModuleName ["System","Process","Internals"],ModuleName ["System","Process"],ModuleName ["System","Cmd"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/process-1.0.1.3"], libraryDirs = ["/usr/lib/ghc-6.12.3/process-1.0.1.3"], hsLibraries = ["HSprocess-1.0.1.3"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/process-1.0.1.3/include"], includes = ["runProcess.h"], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "directory-1.0.1.1-f959a158a71fc63ca3822eaf49ec66dc",InstalledPackageId "filepath-1.1.0.4-c303c646a99c2a24d2402008d247eb5f",InstalledPackageId "unix-2.4.0.2-8b7fb1ebcdcb8db413d44db018f084d7"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/process-1.0.1.3/process.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/process-1.0.1.3"]}),(InstalledPackageId "syb-0.1.0.2-0917873f366b0be90a48082271223b4e",InstalledPackageInfo {installedPackageId = InstalledPackageId "syb-0.1.0.2-0917873f366b0be90a48082271223b4e", sourcePackageId = PackageIdentifier {pkgName = PackageName "syb", pkgVersion = Version {versionBranch = [0,1,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains the generics system described in the\n/Scrap Your Boilerplate/ papers (see <http://www.cs.vu.nl/boilerplate/>).\nIt defines the @Data@ class of types permitting folding and unfolding\nof constructor applications, instances of this class for primitive\ntypes, and a variety of traversals.", category = "", exposed = True, exposedModules = [ModuleName ["Data","Generics"],ModuleName ["Data","Generics","Aliases"],ModuleName ["Data","Generics","Basics"],ModuleName ["Data","Generics","Instances"],ModuleName ["Data","Generics","Schemes"],ModuleName ["Data","Generics","Text"],ModuleName ["Data","Generics","Twins"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/syb-0.1.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/syb-0.1.0.2"], hsLibraries = ["HSsyb-0.1.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/syb-0.1.0.2/syb.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/syb-0.1.0.2"]}),(InstalledPackageId "template-haskell-2.4.0.1-bf08798b1934e4d6a3f903f58e0d5159",InstalledPackageInfo {installedPackageId = InstalledPackageId "template-haskell-2.4.0.1-bf08798b1934e4d6a3f903f58e0d5159", sourcePackageId = PackageIdentifier {pkgName = PackageName "template-haskell", pkgVersion = Version {versionBranch = [2,4,0,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "Facilities for manipulating Haskell source code using Template Haskell.", category = "", exposed = True, exposedModules = [ModuleName ["Language","Haskell","TH","Syntax","Internals"],ModuleName ["Language","Haskell","TH","Syntax"],ModuleName ["Language","Haskell","TH","PprLib"],ModuleName ["Language","Haskell","TH","Ppr"],ModuleName ["Language","Haskell","TH","Lib"],ModuleName ["Language","Haskell","TH","Quote"],ModuleName ["Language","Haskell","TH"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/template-haskell-2.4.0.1"], libraryDirs = ["/usr/lib/ghc-6.12.3/template-haskell-2.4.0.1"], hsLibraries = ["HStemplate-haskell-2.4.0.1"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379",InstalledPackageId "pretty-1.0.1.1-cde327683d86c8644fc9073c368cc5ea"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/template-haskell-2.4.0.1/template-haskell.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/template-haskell-2.4.0.1"]}),(InstalledPackageId "unix-2.4.0.2-8b7fb1ebcdcb8db413d44db018f084d7",InstalledPackageInfo {installedPackageId = InstalledPackageId "unix-2.4.0.2-8b7fb1ebcdcb8db413d44db018f084d7", sourcePackageId = PackageIdentifier {pkgName = PackageName "unix", pkgVersion = Version {versionBranch = [2,4,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package gives you access to the set of operating system\nservices standardised by POSIX 1003.1b (or the IEEE Portable\nOperating System Interface for Computing Environments -\nIEEE Std. 1003.1).\n\nThe package is not supported under Windows (except under Cygwin).", category = "System", exposed = True, exposedModules = [ModuleName ["System","Posix"],ModuleName ["System","Posix","DynamicLinker","Module"],ModuleName ["System","Posix","DynamicLinker","Prim"],ModuleName ["System","Posix","Directory"],ModuleName ["System","Posix","DynamicLinker"],ModuleName ["System","Posix","Env"],ModuleName ["System","Posix","Error"],ModuleName ["System","Posix","Files"],ModuleName ["System","Posix","IO"],ModuleName ["System","Posix","Process"],ModuleName ["System","Posix","Process","Internals"],ModuleName ["System","Posix","Resource"],ModuleName ["System","Posix","Temp"],ModuleName ["System","Posix","Terminal"],ModuleName ["System","Posix","Time"],ModuleName ["System","Posix","Unistd"],ModuleName ["System","Posix","User"],ModuleName ["System","Posix","Signals"],ModuleName ["System","Posix","Signals","Exts"],ModuleName ["System","Posix","Semaphore"],ModuleName ["System","Posix","SharedMem"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/unix-2.4.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/unix-2.4.0.2"], hsLibraries = ["HSunix-2.4.0.2"], extraLibraries = ["rt","util","dl"], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/unix-2.4.0.2/include"], includes = ["HsUnix.h","execvpe.h"], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/unix-2.4.0.2/unix.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/unix-2.4.0.2"]})]) (fromList [(PackageName "Cabal",fromList [(Version {versionBranch = [1,8,0,6], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "Cabal-1.8.0.6-fbc519b7543237abfa4d5d0af63aa9bb", sourcePackageId = PackageIdentifier {pkgName = PackageName "Cabal", pkgVersion = Version {versionBranch = [1,8,0,6], versionTags = []}}, license = BSD3, copyright = "2003-2006, Isaac Jones\n2005-2009, Duncan Coutts", maintainer = "cabal-devel@haskell.org", author = "Isaac Jones <ijones@syntaxpolice.org>\nDuncan Coutts <duncan@haskell.org>", stability = "", homepage = "http://www.haskell.org/cabal/", pkgUrl = "", description = "The Haskell Common Architecture for Building Applications and\nLibraries: a framework defining a common interface for authors to more\neasily build their Haskell applications in a portable way.\n\nThe Haskell Cabal is part of a larger infrastructure for distributing,\norganizing, and cataloging Haskell libraries and tools.", category = "Distribution", exposed = True, exposedModules = [ModuleName ["Distribution","Compiler"],ModuleName ["Distribution","InstalledPackageInfo"],ModuleName ["Distribution","License"],ModuleName ["Distribution","Make"],ModuleName ["Distribution","ModuleName"],ModuleName ["Distribution","Package"],ModuleName ["Distribution","PackageDescription"],ModuleName ["Distribution","PackageDescription","Configuration"],ModuleName ["Distribution","PackageDescription","Parse"],ModuleName ["Distribution","PackageDescription","Check"],ModuleName ["Distribution","ParseUtils"],ModuleName ["Distribution","ReadE"],ModuleName ["Distribution","Simple"],ModuleName ["Distribution","Simple","Build"],ModuleName ["Distribution","Simple","Build","Macros"],ModuleName ["Distribution","Simple","Build","PathsModule"],ModuleName ["Distribution","Simple","BuildPaths"],ModuleName ["Distribution","Simple","Command"],ModuleName ["Distribution","Simple","Compiler"],ModuleName ["Distribution","Simple","Configure"],ModuleName ["Distribution","Simple","GHC"],ModuleName ["Distribution","Simple","LHC"],ModuleName ["Distribution","Simple","Haddock"],ModuleName ["Distribution","Simple","Hugs"],ModuleName ["Distribution","Simple","Install"],ModuleName ["Distribution","Simple","InstallDirs"],ModuleName ["Distribution","Simple","JHC"],ModuleName ["Distribution","Simple","LocalBuildInfo"],ModuleName ["Distribution","Simple","NHC"],ModuleName ["Distribution","Simple","PackageIndex"],ModuleName ["Distribution","Simple","PreProcess"],ModuleName ["Distribution","Simple","PreProcess","Unlit"],ModuleName ["Distribution","Simple","Program"],ModuleName ["Distribution","Simple","Program","Ar"],ModuleName ["Distribution","Simple","Program","Builtin"],ModuleName ["Distribution","Simple","Program","Db"],ModuleName ["Distribution","Simple","Program","HcPkg"],ModuleName ["Distribution","Simple","Program","Ld"],ModuleName ["Distribution","Simple","Program","Run"],ModuleName ["Distribution","Simple","Program","Script"],ModuleName ["Distribution","Simple","Program","Types"],ModuleName ["Distribution","Simple","Register"],ModuleName ["Distribution","Simple","Setup"],ModuleName ["Distribution","Simple","SrcDist"],ModuleName ["Distribution","Simple","UserHooks"],ModuleName ["Distribution","Simple","Utils"],ModuleName ["Distribution","System"],ModuleName ["Distribution","Text"],ModuleName ["Distribution","Verbosity"],ModuleName ["Distribution","Version"],ModuleName ["Distribution","Compat","ReadP"],ModuleName ["Language","Haskell","Extension"]], hiddenModules = [ModuleName ["Distribution","GetOpt"],ModuleName ["Distribution","Compat","Exception"],ModuleName ["Distribution","Compat","CopyFile"],ModuleName ["Distribution","Compat","TempFile"],ModuleName ["Distribution","Simple","GHC","IPI641"],ModuleName ["Distribution","Simple","GHC","IPI642"]], importDirs = ["/usr/lib/ghc-6.12.3/Cabal-1.8.0.6"], libraryDirs = ["/usr/lib/ghc-6.12.3/Cabal-1.8.0.6"], hsLibraries = ["HSCabal-1.8.0.6"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "array-0.3.0.1-438000c197b51c147f229b54edbf632e",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379",InstalledPackageId "directory-1.0.1.1-f959a158a71fc63ca3822eaf49ec66dc",InstalledPackageId "filepath-1.1.0.4-c303c646a99c2a24d2402008d247eb5f",InstalledPackageId "old-time-1.0.0.5-45398fe9d274a4e0177157e25427aeec",InstalledPackageId "pretty-1.0.1.1-cde327683d86c8644fc9073c368cc5ea",InstalledPackageId "process-1.0.1.3-73f46aa4e6bf1a4f2f418a3c761e4e80",InstalledPackageId "unix-2.4.0.2-8b7fb1ebcdcb8db413d44db018f084d7"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/Cabal-1.8.0.6/Cabal.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/Cabal-1.8.0.6"]}])]),(PackageName "array",fromList [(Version {versionBranch = [0,3,0,1], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "array-0.3.0.1-438000c197b51c147f229b54edbf632e", sourcePackageId = PackageIdentifier {pkgName = PackageName "array", pkgVersion = Version {versionBranch = [0,3,0,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package defines the classes @IArray@ of immutable arrays and\n@MArray@ of arrays mutable within appropriate monads, as well as\nsome instances of these classes.", category = "Data Structures", exposed = True, exposedModules = [ModuleName ["Data","Array","Base"],ModuleName ["Data","Array","IArray"],ModuleName ["Data","Array","IO"],ModuleName ["Data","Array","IO","Internals"],ModuleName ["Data","Array","MArray"],ModuleName ["Data","Array","ST"],ModuleName ["Data","Array","Storable"],ModuleName ["Data","Array","Unboxed"],ModuleName ["Data","Array"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/array-0.3.0.1"], libraryDirs = ["/usr/lib/ghc-6.12.3/array-0.3.0.1"], hsLibraries = ["HSarray-0.3.0.1"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/array-0.3.0.1/array.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/array-0.3.0.1"]}])]),(PackageName "base",fromList [(Version {versionBranch = [3,0,3,2], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "base-3.0.3.2-260693a92016991a03206b5a55f6a411", sourcePackageId = PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [3,0,3,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This is a backwards-compatible version of the base package.\nIt depends on a later version of base, and was probably supplied\nwith your compiler when it was installed.", category = "", exposed = True, exposedModules = [ModuleName ["Data","Generics"],ModuleName ["Data","Generics","Aliases"],ModuleName ["Data","Generics","Basics"],ModuleName ["Data","Generics","Instances"],ModuleName ["Data","Generics","Schemes"],ModuleName ["Data","Generics","Text"],ModuleName ["Data","Generics","Twins"],ModuleName ["Foreign","Concurrent"],ModuleName ["GHC","Arr"],ModuleName ["GHC","Base"],ModuleName ["GHC","Conc"],ModuleName ["GHC","ConsoleHandler"],ModuleName ["GHC","Desugar"],ModuleName ["GHC","Dotnet"],ModuleName ["GHC","Enum"],ModuleName ["GHC","Environment"],ModuleName ["GHC","Err"],ModuleName ["GHC","Exception"],ModuleName ["GHC","Exts"],ModuleName ["GHC","Float"],ModuleName ["GHC","ForeignPtr"],ModuleName ["GHC","Handle"],ModuleName ["GHC","IO"],ModuleName ["GHC","IOBase"],ModuleName ["GHC","Int"],ModuleName ["GHC","List"],ModuleName ["GHC","Num"],ModuleName ["GHC","PArr"],ModuleName ["GHC","Pack"],ModuleName ["GHC","Ptr"],ModuleName ["GHC","Read"],ModuleName ["GHC","Real"],ModuleName ["GHC","ST"],ModuleName ["GHC","STRef"],ModuleName ["GHC","Show"],ModuleName ["GHC","Stable"],ModuleName ["GHC","Storable"],ModuleName ["GHC","TopHandler"],ModuleName ["GHC","Unicode"],ModuleName ["GHC","Weak"],ModuleName ["GHC","Word"],ModuleName ["System","Timeout"],ModuleName ["Control","Applicative"],ModuleName ["Control","Arrow"],ModuleName ["Control","Category"],ModuleName ["Control","Concurrent"],ModuleName ["Control","Concurrent","Chan"],ModuleName ["Control","Concurrent","MVar"],ModuleName ["Control","Concurrent","QSem"],ModuleName ["Control","Concurrent","QSemN"],ModuleName ["Control","Concurrent","SampleVar"],ModuleName ["Control","Exception"],ModuleName ["Control","Monad"],ModuleName ["Control","Monad","Fix"],ModuleName ["Control","Monad","Instances"],ModuleName ["Control","Monad","ST"],ModuleName ["Control","Monad","ST","Lazy"],ModuleName ["Control","Monad","ST","Strict"],ModuleName ["Data","Bits"],ModuleName ["Data","Bool"],ModuleName ["Data","Char"],ModuleName ["Data","Complex"],ModuleName ["Data","Dynamic"],ModuleName ["Data","Either"],ModuleName ["Data","Eq"],ModuleName ["Data","Fixed"],ModuleName ["Data","Foldable"],ModuleName ["Data","Function"],ModuleName ["Data","HashTable"],ModuleName ["Data","IORef"],ModuleName ["Data","Int"],ModuleName ["Data","Ix"],ModuleName ["Data","List"],ModuleName ["Data","Maybe"],ModuleName ["Data","Monoid"],ModuleName ["Data","Ord"],ModuleName ["Data","Ratio"],ModuleName ["Data","STRef"],ModuleName ["Data","STRef","Lazy"],ModuleName ["Data","STRef","Strict"],ModuleName ["Data","String"],ModuleName ["Data","Traversable"],ModuleName ["Data","Tuple"],ModuleName ["Data","Typeable"],ModuleName ["Data","Unique"],ModuleName ["Data","Version"],ModuleName ["Data","Word"],ModuleName ["Debug","Trace"],ModuleName ["Foreign"],ModuleName ["Foreign","C"],ModuleName ["Foreign","C","Error"],ModuleName ["Foreign","C","String"],ModuleName ["Foreign","C","Types"],ModuleName ["Foreign","ForeignPtr"],ModuleName ["Foreign","Marshal"],ModuleName ["Foreign","Marshal","Alloc"],ModuleName ["Foreign","Marshal","Array"],ModuleName ["Foreign","Marshal","Error"],ModuleName ["Foreign","Marshal","Pool"],ModuleName ["Foreign","Marshal","Utils"],ModuleName ["Foreign","Ptr"],ModuleName ["Foreign","StablePtr"],ModuleName ["Foreign","Storable"],ModuleName ["Numeric"],ModuleName ["Prelude"],ModuleName ["System","Console","GetOpt"],ModuleName ["System","CPUTime"],ModuleName ["System","Environment"],ModuleName ["System","Exit"],ModuleName ["System","IO"],ModuleName ["System","IO","Error"],ModuleName ["System","IO","Unsafe"],ModuleName ["System","Info"],ModuleName ["System","Mem"],ModuleName ["System","Mem","StableName"],ModuleName ["System","Mem","Weak"],ModuleName ["System","Posix","Internals"],ModuleName ["System","Posix","Types"],ModuleName ["Text","ParserCombinators","ReadP"],ModuleName ["Text","ParserCombinators","ReadPrec"],ModuleName ["Text","Printf"],ModuleName ["Text","Read"],ModuleName ["Text","Read","Lex"],ModuleName ["Text","Show"],ModuleName ["Text","Show","Functions"],ModuleName ["Unsafe","Coerce"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/base-3.0.3.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/base-3.0.3.2"], hsLibraries = ["HSbase-3.0.3.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "syb-0.1.0.2-0917873f366b0be90a48082271223b4e"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/base-3.0.3.2/base.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/base-3.0.3.2"]}]),(Version {versionBranch = [4,2,0,2], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3", sourcePackageId = PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [4,2,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains the Prelude and its support libraries,\nand a large collection of useful libraries ranging from data\nstructures to parsing combinators and debugging utilities.", category = "", exposed = True, exposedModules = [ModuleName ["Foreign","Concurrent"],ModuleName ["GHC","Arr"],ModuleName ["GHC","Base"],ModuleName ["GHC","Classes"],ModuleName ["GHC","Conc"],ModuleName ["GHC","ConsoleHandler"],ModuleName ["GHC","Constants"],ModuleName ["GHC","Desugar"],ModuleName ["GHC","Enum"],ModuleName ["GHC","Environment"],ModuleName ["GHC","Err"],ModuleName ["GHC","Exception"],ModuleName ["GHC","Exts"],ModuleName ["GHC","Float"],ModuleName ["GHC","ForeignPtr"],ModuleName ["GHC","MVar"],ModuleName ["GHC","IO"],ModuleName ["GHC","IO","IOMode"],ModuleName ["GHC","IO","Buffer"],ModuleName ["GHC","IO","Device"],ModuleName ["GHC","IO","BufferedIO"],ModuleName ["GHC","IO","FD"],ModuleName ["GHC","IO","Exception"],ModuleName ["GHC","IO","Encoding"],ModuleName ["GHC","IO","Encoding","Latin1"],ModuleName ["GHC","IO","Encoding","UTF8"],ModuleName ["GHC","IO","Encoding","UTF16"],ModuleName ["GHC","IO","Encoding","UTF32"],ModuleName ["GHC","IO","Encoding","Types"],ModuleName ["GHC","IO","Encoding","Iconv"],ModuleName ["GHC","IO","Encoding","CodePage"],ModuleName ["GHC","IO","Handle"],ModuleName ["GHC","IO","Handle","Types"],ModuleName ["GHC","IO","Handle","Internals"],ModuleName ["GHC","IO","Handle","FD"],ModuleName ["GHC","IO","Handle","Text"],ModuleName ["GHC","IOBase"],ModuleName ["GHC","Handle"],ModuleName ["GHC","IORef"],ModuleName ["GHC","IOArray"],ModuleName ["GHC","Int"],ModuleName ["GHC","List"],ModuleName ["GHC","Num"],ModuleName ["GHC","PArr"],ModuleName ["GHC","Pack"],ModuleName ["GHC","Ptr"],ModuleName ["GHC","Read"],ModuleName ["GHC","Real"],ModuleName ["GHC","ST"],ModuleName ["GHC","STRef"],ModuleName ["GHC","Show"],ModuleName ["GHC","Stable"],ModuleName ["GHC","Storable"],ModuleName ["GHC","TopHandler"],ModuleName ["GHC","Unicode"],ModuleName ["GHC","Weak"],ModuleName ["GHC","Word"],ModuleName ["System","Timeout"],ModuleName ["Control","Applicative"],ModuleName ["Control","Arrow"],ModuleName ["Control","Category"],ModuleName ["Control","Concurrent"],ModuleName ["Control","Concurrent","Chan"],ModuleName ["Control","Concurrent","MVar"],ModuleName ["Control","Concurrent","QSem"],ModuleName ["Control","Concurrent","QSemN"],ModuleName ["Control","Concurrent","SampleVar"],ModuleName ["Control","Exception"],ModuleName ["Control","Exception","Base"],ModuleName ["Control","OldException"],ModuleName ["Control","Monad"],ModuleName ["Control","Monad","Fix"],ModuleName ["Control","Monad","Instances"],ModuleName ["Control","Monad","ST"],ModuleName ["Control","Monad","ST","Lazy"],ModuleName ["Control","Monad","ST","Strict"],ModuleName ["Data","Bits"],ModuleName ["Data","Bool"],ModuleName ["Data","Char"],ModuleName ["Data","Complex"],ModuleName ["Data","Dynamic"],ModuleName ["Data","Either"],ModuleName ["Data","Eq"],ModuleName ["Data","Data"],ModuleName ["Data","Fixed"],ModuleName ["Data","Foldable"],ModuleName ["Data","Function"],ModuleName ["Data","Functor"],ModuleName ["Data","HashTable"],ModuleName ["Data","IORef"],ModuleName ["Data","Int"],ModuleName ["Data","Ix"],ModuleName ["Data","List"],ModuleName ["Data","Maybe"],ModuleName ["Data","Monoid"],ModuleName ["Data","Ord"],ModuleName ["Data","Ratio"],ModuleName ["Data","STRef"],ModuleName ["Data","STRef","Lazy"],ModuleName ["Data","STRef","Strict"],ModuleName ["Data","String"],ModuleName ["Data","Traversable"],ModuleName ["Data","Tuple"],ModuleName ["Data","Typeable"],ModuleName ["Data","Unique"],ModuleName ["Data","Version"],ModuleName ["Data","Word"],ModuleName ["Debug","Trace"],ModuleName ["Foreign"],ModuleName ["Foreign","C"],ModuleName ["Foreign","C","Error"],ModuleName ["Foreign","C","String"],ModuleName ["Foreign","C","Types"],ModuleName ["Foreign","ForeignPtr"],ModuleName ["Foreign","Marshal"],ModuleName ["Foreign","Marshal","Alloc"],ModuleName ["Foreign","Marshal","Array"],ModuleName ["Foreign","Marshal","Error"],ModuleName ["Foreign","Marshal","Pool"],ModuleName ["Foreign","Marshal","Utils"],ModuleName ["Foreign","Ptr"],ModuleName ["Foreign","StablePtr"],ModuleName ["Foreign","Storable"],ModuleName ["Numeric"],ModuleName ["Prelude"],ModuleName ["System","Console","GetOpt"],ModuleName ["System","CPUTime"],ModuleName ["System","Environment"],ModuleName ["System","Exit"],ModuleName ["System","IO"],ModuleName ["System","IO","Error"],ModuleName ["System","IO","Unsafe"],ModuleName ["System","Info"],ModuleName ["System","Mem"],ModuleName ["System","Mem","StableName"],ModuleName ["System","Mem","Weak"],ModuleName ["System","Posix","Internals"],ModuleName ["System","Posix","Types"],ModuleName ["Text","ParserCombinators","ReadP"],ModuleName ["Text","ParserCombinators","ReadPrec"],ModuleName ["Text","Printf"],ModuleName ["Text","Read"],ModuleName ["Text","Read","Lex"],ModuleName ["Text","Show"],ModuleName ["Text","Show","Functions"],ModuleName ["Unsafe","Coerce"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/base-4.2.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/base-4.2.0.2"], hsLibraries = ["HSbase-4.2.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/base-4.2.0.2/include"], includes = ["HsBase.h"], depends = [InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11",InstalledPackageId "integer-gmp-0.2.0.1-72436e28c79d056c87cc0d2d2f9f3773",InstalledPackageId "builtin_rts"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/base-4.2.0.2/base.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/base-4.2.0.2"]}])]),(PackageName "bin-package-db",fromList [(Version {versionBranch = [0,0,0,0], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "bin-package-db-0.0.0.0-0dffb74a73bb78b5dc02ca941bbcbea0", sourcePackageId = PackageIdentifier {pkgName = PackageName "bin-package-db", pkgVersion = Version {versionBranch = [0,0,0,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "cvs-ghc@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "", category = "", exposed = True, exposedModules = [ModuleName ["Distribution","InstalledPackageInfo","Binary"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/bin-package-db-0.0.0.0"], libraryDirs = ["/usr/lib/ghc-6.12.3/bin-package-db-0.0.0.0"], hsLibraries = ["HSbin-package-db-0.0.0.0"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "Cabal-1.8.0.6-fbc519b7543237abfa4d5d0af63aa9bb",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "ghc-binary-0.5.0.2-65e476e80633fdb913f3a18a211c7d06"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/bin-package-db-0.0.0.0/bin-package-db.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/bin-package-db-0.0.0.0"]}])]),(PackageName "bytestring",fromList [(Version {versionBranch = [0,9,1,7], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "bytestring-0.9.1.7-e4f5efe6019d4771130f5cd8d3216b38", sourcePackageId = PackageIdentifier {pkgName = PackageName "bytestring", pkgVersion = Version {versionBranch = [0,9,1,7], versionTags = []}}, license = BSD3, copyright = "Copyright (c) Don Stewart   2005-2009,\n(c) Duncan Coutts 2006-2009,\n(c) David Roundy  2003-2005.", maintainer = "dons@galois.com, duncan@haskell.org", author = "Don Stewart, Duncan Coutts", stability = "", homepage = "http://www.cse.unsw.edu.au/~dons/fps.html", pkgUrl = "", description = "A time and space-efficient implementation of byte vectors using\npacked Word8 arrays, suitable for high performance use, both in terms\nof large data quantities, or high speed requirements. Byte vectors\nare encoded as strict 'Word8' arrays of bytes, and lazy lists of\nstrict chunks, held in a 'ForeignPtr', and can be passed between C\nand Haskell with little effort.\n\nTest coverage data for this library is available at:\n<http://code.haskell.org/~dons/tests/bytestring/hpc_index.html>", category = "Data", exposed = True, exposedModules = [ModuleName ["Data","ByteString"],ModuleName ["Data","ByteString","Char8"],ModuleName ["Data","ByteString","Unsafe"],ModuleName ["Data","ByteString","Internal"],ModuleName ["Data","ByteString","Lazy"],ModuleName ["Data","ByteString","Lazy","Char8"],ModuleName ["Data","ByteString","Lazy","Internal"],ModuleName ["Data","ByteString","Fusion"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/bytestring-0.9.1.7"], libraryDirs = ["/usr/lib/ghc-6.12.3/bytestring-0.9.1.7"], hsLibraries = ["HSbytestring-0.9.1.7"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/bytestring-0.9.1.7/include"], includes = ["fpstring.h"], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/bytestring-0.9.1.7/bytestring.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/bytestring-0.9.1.7"]}])]),(PackageName "containers",fromList [(Version {versionBranch = [0,3,0,0], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379", sourcePackageId = PackageIdentifier {pkgName = PackageName "containers", pkgVersion = Version {versionBranch = [0,3,0,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains efficient general-purpose implementations\nof various basic immutable container types.  The declared cost of\neach operation is either worst-case or amortized, but remains\nvalid even if structures are shared.", category = "Data Structures", exposed = True, exposedModules = [ModuleName ["Data","Graph"],ModuleName ["Data","IntMap"],ModuleName ["Data","IntSet"],ModuleName ["Data","Map"],ModuleName ["Data","Sequence"],ModuleName ["Data","Set"],ModuleName ["Data","Tree"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/containers-0.3.0.0"], libraryDirs = ["/usr/lib/ghc-6.12.3/containers-0.3.0.0"], hsLibraries = ["HScontainers-0.3.0.0"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "array-0.3.0.1-438000c197b51c147f229b54edbf632e",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/containers.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/containers-0.3.0.0"]}])]),(PackageName "directory",fromList [(Version {versionBranch = [1,0,1,1], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "directory-1.0.1.1-f959a158a71fc63ca3822eaf49ec66dc", sourcePackageId = PackageIdentifier {pkgName = PackageName "directory", pkgVersion = Version {versionBranch = [1,0,1,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package provides a library for handling directories.", category = "System", exposed = True, exposedModules = [ModuleName ["System","Directory"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/directory-1.0.1.1"], libraryDirs = ["/usr/lib/ghc-6.12.3/directory-1.0.1.1"], hsLibraries = ["HSdirectory-1.0.1.1"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/directory-1.0.1.1/include"], includes = ["HsDirectory.h"], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "filepath-1.1.0.4-c303c646a99c2a24d2402008d247eb5f",InstalledPackageId "old-time-1.0.0.5-45398fe9d274a4e0177157e25427aeec",InstalledPackageId "unix-2.4.0.2-8b7fb1ebcdcb8db413d44db018f084d7"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/directory-1.0.1.1/directory.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/directory-1.0.1.1"]}])]),(PackageName "ffi",fromList [(Version {versionBranch = [1,0], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "builtin_ffi", sourcePackageId = PackageIdentifier {pkgName = PackageName "ffi", pkgVersion = Version {versionBranch = [1,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "glasgow-haskell-users@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "", category = "", exposed = True, exposedModules = [], hiddenModules = [], importDirs = [], libraryDirs = ["/usr/lib/ghc-6.12.3"], hsLibraries = ["HSffi"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/include"], includes = [], depends = [], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = [], haddockHTMLs = []}])]),(PackageName "filepath",fromList [(Version {versionBranch = [1,1,0,4], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "filepath-1.1.0.4-c303c646a99c2a24d2402008d247eb5f", sourcePackageId = PackageIdentifier {pkgName = PackageName "filepath", pkgVersion = Version {versionBranch = [1,1,0,4], versionTags = []}}, license = BSD3, copyright = "", maintainer = "", author = "Neil Mitchell", stability = "", homepage = "http://www-users.cs.york.ac.uk/~ndm/filepath/", pkgUrl = "", description = "", category = "System", exposed = True, exposedModules = [ModuleName ["System","FilePath"],ModuleName ["System","FilePath","Posix"],ModuleName ["System","FilePath","Windows"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/filepath-1.1.0.4"], libraryDirs = ["/usr/lib/ghc-6.12.3/filepath-1.1.0.4"], hsLibraries = ["HSfilepath-1.1.0.4"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/filepath-1.1.0.4/filepath.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/filepath-1.1.0.4"]}])]),(PackageName "ghc",fromList [(Version {versionBranch = [6,12,3], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "ghc-6.12.3-32f69115c5a977d5f19f8d159b76363d", sourcePackageId = PackageIdentifier {pkgName = PackageName "ghc", pkgVersion = Version {versionBranch = [6,12,3], versionTags = []}}, license = BSD3, copyright = "", maintainer = "glasgow-haskell-users@haskell.org", author = "The GHC Team", stability = "", homepage = "http://www.haskell.org/ghc/", pkgUrl = "", description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.", category = "Development", exposed = False, exposedModules = [ModuleName ["AsmCodeGen"],ModuleName ["TargetReg"],ModuleName ["NCGMonad"],ModuleName ["Instruction"],ModuleName ["Size"],ModuleName ["Reg"],ModuleName ["RegClass"],ModuleName ["PprBase"],ModuleName ["PIC"],ModuleName ["Platform"],ModuleName ["Alpha","Regs"],ModuleName ["Alpha","RegInfo"],ModuleName ["Alpha","Instr"],ModuleName ["Alpha","CodeGen"],ModuleName ["X86","Regs"],ModuleName ["X86","RegInfo"],ModuleName ["X86","Instr"],ModuleName ["X86","Cond"],ModuleName ["X86","Ppr"],ModuleName ["X86","CodeGen"],ModuleName ["PPC","Regs"],ModuleName ["PPC","RegInfo"],ModuleName ["PPC","Instr"],ModuleName ["PPC","Cond"],ModuleName ["PPC","Ppr"],ModuleName ["PPC","CodeGen"],ModuleName ["SPARC","Base"],ModuleName ["SPARC","Regs"],ModuleName ["SPARC","RegPlate"],ModuleName ["SPARC","Imm"],ModuleName ["SPARC","AddrMode"],ModuleName ["SPARC","Cond"],ModuleName ["SPARC","Instr"],ModuleName ["SPARC","Stack"],ModuleName ["SPARC","ShortcutJump"],ModuleName ["SPARC","Ppr"],ModuleName ["SPARC","CodeGen"],ModuleName ["SPARC","CodeGen","Amode"],ModuleName ["SPARC","CodeGen","Base"],ModuleName ["SPARC","CodeGen","CCall"],ModuleName ["SPARC","CodeGen","CondCode"],ModuleName ["SPARC","CodeGen","Gen32"],ModuleName ["SPARC","CodeGen","Gen64"],ModuleName ["SPARC","CodeGen","Sanity"],ModuleName ["SPARC","CodeGen","Expand"],ModuleName ["RegAlloc","Liveness"],ModuleName ["RegAlloc","Graph","Main"],ModuleName ["RegAlloc","Graph","Stats"],ModuleName ["RegAlloc","Graph","ArchBase"],ModuleName ["RegAlloc","Graph","ArchX86"],ModuleName ["RegAlloc","Graph","Coalesce"],ModuleName ["RegAlloc","Graph","Spill"],ModuleName ["RegAlloc","Graph","SpillClean"],ModuleName ["RegAlloc","Graph","SpillCost"],ModuleName ["RegAlloc","Graph","TrivColorable"],ModuleName ["RegAlloc","Linear","Main"],ModuleName ["RegAlloc","Linear","JoinToTargets"],ModuleName ["RegAlloc","Linear","State"],ModuleName ["RegAlloc","Linear","Stats"],ModuleName ["RegAlloc","Linear","FreeRegs"],ModuleName ["RegAlloc","Linear","StackMap"],ModuleName ["RegAlloc","Linear","Base"],ModuleName ["RegAlloc","Linear","X86","FreeRegs"],ModuleName ["RegAlloc","Linear","PPC","FreeRegs"],ModuleName ["RegAlloc","Linear","SPARC","FreeRegs"],ModuleName ["DsMeta"],ModuleName ["TcSplice"],ModuleName ["Convert"],ModuleName ["ByteCodeAsm"],ModuleName ["ByteCodeFFI"],ModuleName ["ByteCodeGen"],ModuleName ["ByteCodeInstr"],ModuleName ["ByteCodeItbls"],ModuleName ["ByteCodeLink"],ModuleName ["Debugger"],ModuleName ["LibFFI"],ModuleName ["Linker"],ModuleName ["ObjLink"],ModuleName ["RtClosureInspect"],ModuleName ["BasicTypes"],ModuleName ["DataCon"],ModuleName ["Demand"],ModuleName ["Exception"],ModuleName ["Id"],ModuleName ["IdInfo"],ModuleName ["Literal"],ModuleName ["MkId"],ModuleName ["Module"],ModuleName ["Name"],ModuleName ["NameEnv"],ModuleName ["NameSet"],ModuleName ["NewDemand"],ModuleName ["OccName"],ModuleName ["RdrName"],ModuleName ["SrcLoc"],ModuleName ["UniqSupply"],ModuleName ["Unique"],ModuleName ["Var"],ModuleName ["VarEnv"],ModuleName ["VarSet"],ModuleName ["BlockId"],ModuleName ["CLabel"],ModuleName ["Cmm"],ModuleName ["CmmBrokenBlock"],ModuleName ["CmmBuildInfoTables"],ModuleName ["CmmCPS"],ModuleName ["CmmCPSGen"],ModuleName ["CmmCPSZ"],ModuleName ["CmmCallConv"],ModuleName ["CmmCommonBlockElimZ"],ModuleName ["CmmContFlowOpt"],ModuleName ["CmmCvt"],ModuleName ["CmmExpr"],ModuleName ["CmmInfo"],ModuleName ["CmmLex"],ModuleName ["CmmLint"],ModuleName ["CmmLive"],ModuleName ["CmmLiveZ"],ModuleName ["CmmOpt"],ModuleName ["CmmParse"],ModuleName ["CmmProcPoint"],ModuleName ["CmmProcPointZ"],ModuleName ["CmmSpillReload"],ModuleName ["CmmStackLayout"],ModuleName ["CmmTx"],ModuleName ["CmmUtils"],ModuleName ["CmmZipUtil"],ModuleName ["DFMonad"],ModuleName ["Dataflow"],ModuleName ["MkZipCfg"],ModuleName ["MkZipCfgCmm"],ModuleName ["OptimizationFuel"],ModuleName ["PprC"],ModuleName ["PprCmm"],ModuleName ["PprCmmZ"],ModuleName ["StackColor"],ModuleName ["StackPlacements"],ModuleName ["ZipCfg"],ModuleName ["ZipCfgCmmRep"],ModuleName ["ZipCfgExtras"],ModuleName ["ZipDataflow"],ModuleName ["Bitmap"],ModuleName ["CgBindery"],ModuleName ["CgCallConv"],ModuleName ["CgCase"],ModuleName ["CgClosure"],ModuleName ["CgCon"],ModuleName ["CgExpr"],ModuleName ["CgForeignCall"],ModuleName ["CgHeapery"],ModuleName ["CgHpc"],ModuleName ["CgInfoTbls"],ModuleName ["CgLetNoEscape"],ModuleName ["CgMonad"],ModuleName ["CgParallel"],ModuleName ["CgPrimOp"],ModuleName ["CgProf"],ModuleName ["CgStackery"],ModuleName ["CgTailCall"],ModuleName ["CgTicky"],ModuleName ["CgUtils"],ModuleName ["StgCmm"],ModuleName ["StgCmmBind"],ModuleName ["StgCmmClosure"],ModuleName ["StgCmmCon"],ModuleName ["StgCmmEnv"],ModuleName ["StgCmmExpr"],ModuleName ["StgCmmForeign"],ModuleName ["StgCmmGran"],ModuleName ["StgCmmHeap"],ModuleName ["StgCmmHpc"],ModuleName ["StgCmmLayout"],ModuleName ["StgCmmMonad"],ModuleName ["StgCmmPrim"],ModuleName ["StgCmmProf"],ModuleName ["StgCmmTicky"],ModuleName ["StgCmmUtils"],ModuleName ["ClosureInfo"],ModuleName ["CodeGen"],ModuleName ["SMRep"],ModuleName ["CoreArity"],ModuleName ["CoreFVs"],ModuleName ["CoreLint"],ModuleName ["CorePrep"],ModuleName ["CoreSubst"],ModuleName ["CoreSyn"],ModuleName ["CoreTidy"],ModuleName ["CoreUnfold"],ModuleName ["CoreUtils"],ModuleName ["ExternalCore"],ModuleName ["MkCore"],ModuleName ["MkExternalCore"],ModuleName ["PprCore"],ModuleName ["PprExternalCore"],ModuleName ["CprAnalyse"],ModuleName ["Check"],ModuleName ["Coverage"],ModuleName ["Desugar"],ModuleName ["DsArrows"],ModuleName ["DsBinds"],ModuleName ["DsCCall"],ModuleName ["DsExpr"],ModuleName ["DsForeign"],ModuleName ["DsGRHSs"],ModuleName ["DsListComp"],ModuleName ["DsMonad"],ModuleName ["DsUtils"],ModuleName ["Match"],ModuleName ["MatchCon"],ModuleName ["MatchLit"],ModuleName ["HsBinds"],ModuleName ["HsDecls"],ModuleName ["HsDoc"],ModuleName ["HsExpr"],ModuleName ["HsImpExp"],ModuleName ["HsLit"],ModuleName ["HsPat"],ModuleName ["HsSyn"],ModuleName ["HsTypes"],ModuleName ["HsUtils"],ModuleName ["BinIface"],ModuleName ["BuildTyCl"],ModuleName ["IfaceEnv"],ModuleName ["IfaceSyn"],ModuleName ["IfaceType"],ModuleName ["LoadIface"],ModuleName ["MkIface"],ModuleName ["TcIface"],ModuleName ["Annotations"],ModuleName ["BreakArray"],ModuleName ["CmdLineParser"],ModuleName ["CodeOutput"],ModuleName ["Config"],ModuleName ["Constants"],ModuleName ["DriverMkDepend"],ModuleName ["DriverPhases"],ModuleName ["DriverPipeline"],ModuleName ["DynFlags"],ModuleName ["ErrUtils"],ModuleName ["Finder"],ModuleName ["GHC"],ModuleName ["HeaderInfo"],ModuleName ["HscMain"],ModuleName ["HscStats"],ModuleName ["HscTypes"],ModuleName ["InteractiveEval"],ModuleName ["PackageConfig"],ModuleName ["Packages"],ModuleName ["PprTyThing"],ModuleName ["StaticFlags"],ModuleName ["StaticFlagParser"],ModuleName ["SysTools"],ModuleName ["TidyPgm"],ModuleName ["Ctype"],ModuleName ["HaddockUtils"],ModuleName ["LexCore"],ModuleName ["Lexer"],ModuleName ["Parser"],ModuleName ["ParserCore"],ModuleName ["ParserCoreUtils"],ModuleName ["RdrHsSyn"],ModuleName ["ForeignCall"],ModuleName ["PrelInfo"],ModuleName ["PrelNames"],ModuleName ["PrelRules"],ModuleName ["PrimOp"],ModuleName ["TysPrim"],ModuleName ["TysWiredIn"],ModuleName ["CostCentre"],ModuleName ["SCCfinal"],ModuleName ["RnBinds"],ModuleName ["RnEnv"],ModuleName ["RnExpr"],ModuleName ["RnHsDoc"],ModuleName ["RnHsSyn"],ModuleName ["RnNames"],ModuleName ["RnPat"],ModuleName ["RnSource"],ModuleName ["RnTypes"],ModuleName ["CoreMonad"],ModuleName ["CSE"],ModuleName ["FloatIn"],ModuleName ["FloatOut"],ModuleName ["LiberateCase"],ModuleName ["OccurAnal"],ModuleName ["SAT"],ModuleName ["SetLevels"],ModuleName ["SimplCore"],ModuleName ["SimplEnv"],ModuleName ["SimplMonad"],ModuleName ["SimplUtils"],ModuleName ["Simplify"],ModuleName ["SRT"],ModuleName ["SimplStg"],ModuleName ["StgStats"],ModuleName ["Rules"],ModuleName ["SpecConstr"],ModuleName ["Specialise"],ModuleName ["CoreToStg"],ModuleName ["StgLint"],ModuleName ["StgSyn"],ModuleName ["DmdAnal"],ModuleName ["SaAbsInt"],ModuleName ["SaLib"],ModuleName ["StrictAnal"],ModuleName ["WorkWrap"],ModuleName ["WwLib"],ModuleName ["FamInst"],ModuleName ["Inst"],ModuleName ["TcAnnotations"],ModuleName ["TcArrows"],ModuleName ["TcBinds"],ModuleName ["TcClassDcl"],ModuleName ["TcDefaults"],ModuleName ["TcDeriv"],ModuleName ["TcEnv"],ModuleName ["TcExpr"],ModuleName ["TcForeign"],ModuleName ["TcGenDeriv"],ModuleName ["TcHsSyn"],ModuleName ["TcHsType"],ModuleName ["TcInstDcls"],ModuleName ["TcMType"],ModuleName ["TcMatches"],ModuleName ["TcPat"],ModuleName ["TcRnDriver"],ModuleName ["TcRnMonad"],ModuleName ["TcRnTypes"],ModuleName ["TcRules"],ModuleName ["TcSimplify"],ModuleName ["TcTyClsDecls"],ModuleName ["TcTyDecls"],ModuleName ["TcTyFuns"],ModuleName ["TcType"],ModuleName ["TcUnify"],ModuleName ["Class"],ModuleName ["Coercion"],ModuleName ["FamInstEnv"],ModuleName ["FunDeps"],ModuleName ["Generics"],ModuleName ["InstEnv"],ModuleName ["TyCon"],ModuleName ["Type"],ModuleName ["TypeRep"],ModuleName ["Unify"],ModuleName ["Bag"],ModuleName ["Binary"],ModuleName ["BufWrite"],ModuleName ["Digraph"],ModuleName ["Encoding"],ModuleName ["FastBool"],ModuleName ["FastFunctions"],ModuleName ["FastMutInt"],ModuleName ["FastString"],ModuleName ["FastTypes"],ModuleName ["Fingerprint"],ModuleName ["FiniteMap"],ModuleName ["GraphBase"],ModuleName ["GraphColor"],ModuleName ["GraphOps"],ModuleName ["GraphPpr"],ModuleName ["IOEnv"],ModuleName ["Interval"],ModuleName ["LazyUniqFM"],ModuleName ["ListSetOps"],ModuleName ["Maybes"],ModuleName ["MonadUtils"],ModuleName ["OrdList"],ModuleName ["Outputable"],ModuleName ["Panic"],ModuleName ["Pretty"],ModuleName ["Serialized"],ModuleName ["State"],ModuleName ["StringBuffer"],ModuleName ["UniqFM"],ModuleName ["UniqSet"],ModuleName ["Util"],ModuleName ["VectBuiltIn"],ModuleName ["VectCore"],ModuleName ["VectMonad"],ModuleName ["VectType"],ModuleName ["VectUtils"],ModuleName ["Vectorise"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/ghc-6.12.3"], libraryDirs = ["/usr/lib/ghc-6.12.3/ghc-6.12.3"], hsLibraries = ["HSghc-6.12.3"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/ghc-6.12.3/include"], includes = [], depends = [InstalledPackageId "Cabal-1.8.0.6-fbc519b7543237abfa4d5d0af63aa9bb",InstalledPackageId "array-0.3.0.1-438000c197b51c147f229b54edbf632e",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "bin-package-db-0.0.0.0-0dffb74a73bb78b5dc02ca941bbcbea0",InstalledPackageId "bytestring-0.9.1.7-e4f5efe6019d4771130f5cd8d3216b38",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379",InstalledPackageId "directory-1.0.1.1-f959a158a71fc63ca3822eaf49ec66dc",InstalledPackageId "filepath-1.1.0.4-c303c646a99c2a24d2402008d247eb5f",InstalledPackageId "hpc-0.5.0.5-3f3ed89da2117953d6ef3acc2332a32b",InstalledPackageId "old-time-1.0.0.5-45398fe9d274a4e0177157e25427aeec",InstalledPackageId "process-1.0.1.3-73f46aa4e6bf1a4f2f418a3c761e4e80",InstalledPackageId "template-haskell-2.4.0.1-bf08798b1934e4d6a3f903f58e0d5159",InstalledPackageId "unix-2.4.0.2-8b7fb1ebcdcb8db413d44db018f084d7"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/ghc-6.12.3/ghc.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/ghc-6.12.3"]}])]),(PackageName "ghc-binary",fromList [(Version {versionBranch = [0,5,0,2], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "ghc-binary-0.5.0.2-65e476e80633fdb913f3a18a211c7d06", sourcePackageId = PackageIdentifier {pkgName = PackageName "ghc-binary", pkgVersion = Version {versionBranch = [0,5,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "Lennart Kolmodin, Don Stewart <dons@galois.com>", author = "Lennart Kolmodin <kolmodin@dtek.chalmers.se>", stability = "provisional", homepage = "http://code.haskell.org/binary/", pkgUrl = "", description = "Efficient, pure binary serialisation using lazy ByteStrings.\nHaskell values may be encoded to and from binary formats,\nwritten to disk as binary, or sent over the network.\nSerialisation speeds of over 1 G\\/sec have been observed,\nso this library should be suitable for high performance\nscenarios.", category = "Data, Parsing", exposed = False, exposedModules = [ModuleName ["Data","Binary"],ModuleName ["Data","Binary","Put"],ModuleName ["Data","Binary","Get"],ModuleName ["Data","Binary","Builder"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/ghc-binary-0.5.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/ghc-binary-0.5.0.2"], hsLibraries = ["HSghc-binary-0.5.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "array-0.3.0.1-438000c197b51c147f229b54edbf632e",InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "bytestring-0.9.1.7-e4f5efe6019d4771130f5cd8d3216b38",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/ghc-binary-0.5.0.2/ghc-binary.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/ghc-binary-0.5.0.2"]}])]),(PackageName "ghc-prim",fromList [(Version {versionBranch = [0,2,0,0], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11", sourcePackageId = PackageIdentifier {pkgName = PackageName "ghc-prim", pkgVersion = Version {versionBranch = [0,2,0,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "GHC primitives.", category = "", exposed = True, exposedModules = [ModuleName ["GHC","Prim"],ModuleName ["GHC","Bool"],ModuleName ["GHC","Debug"],ModuleName ["GHC","Generics"],ModuleName ["GHC","Ordering"],ModuleName ["GHC","PrimopWrappers"],ModuleName ["GHC","IntWord32"],ModuleName ["GHC","IntWord64"],ModuleName ["GHC","Tuple"],ModuleName ["GHC","Types"],ModuleName ["GHC","Unit"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/ghc-prim-0.2.0.0"], libraryDirs = ["/usr/lib/ghc-6.12.3/ghc-prim-0.2.0.0"], hsLibraries = ["HSghc-prim-0.2.0.0"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "builtin_rts"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/ghc-prim.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0"]}])]),(PackageName "hpc",fromList [(Version {versionBranch = [0,5,0,5], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "hpc-0.5.0.5-3f3ed89da2117953d6ef3acc2332a32b", sourcePackageId = PackageIdentifier {pkgName = PackageName "hpc", pkgVersion = Version {versionBranch = [0,5,0,5], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "Andy Gill", stability = "", homepage = "", pkgUrl = "", description = "", category = "Control", exposed = True, exposedModules = [ModuleName ["Trace","Hpc","Util"],ModuleName ["Trace","Hpc","Mix"],ModuleName ["Trace","Hpc","Tix"],ModuleName ["Trace","Hpc","Reflect"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/hpc-0.5.0.5"], libraryDirs = ["/usr/lib/ghc-6.12.3/hpc-0.5.0.5"], hsLibraries = ["HShpc-0.5.0.5"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379",InstalledPackageId "directory-1.0.1.1-f959a158a71fc63ca3822eaf49ec66dc",InstalledPackageId "old-time-1.0.0.5-45398fe9d274a4e0177157e25427aeec"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/hpc-0.5.0.5/hpc.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/hpc-0.5.0.5"]}])]),(PackageName "integer-gmp",fromList [(Version {versionBranch = [0,2,0,1], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "integer-gmp-0.2.0.1-72436e28c79d056c87cc0d2d2f9f3773", sourcePackageId = PackageIdentifier {pkgName = PackageName "integer-gmp", pkgVersion = Version {versionBranch = [0,2,0,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains an Integer library based on GMP.", category = "", exposed = True, exposedModules = [ModuleName ["GHC","Integer"],ModuleName ["GHC","Integer","GMP","Internals"]], hiddenModules = [ModuleName ["GHC","Integer","Type"]], importDirs = ["/usr/lib/ghc-6.12.3/integer-gmp-0.2.0.1"], libraryDirs = ["/usr/lib/ghc-6.12.3/integer-gmp-0.2.0.1"], hsLibraries = ["HSinteger-gmp-0.2.0.1"], extraLibraries = ["gmp"], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/integer-gmp-0.2.0.1/integer-gmp.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/integer-gmp-0.2.0.1"]}])]),(PackageName "old-locale",fromList [(Version {versionBranch = [1,0,0,2], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "old-locale-1.0.0.2-0c1a4b40f2d3b9f6b725f54c00fe0923", sourcePackageId = PackageIdentifier {pkgName = PackageName "old-locale", pkgVersion = Version {versionBranch = [1,0,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package provides the old locale library.\nFor new code, the new locale library is recommended.", category = "System", exposed = True, exposedModules = [ModuleName ["System","Locale"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/old-locale-1.0.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/old-locale-1.0.0.2"], hsLibraries = ["HSold-locale-1.0.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/old-locale-1.0.0.2/old-locale.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/old-locale-1.0.0.2"]}])]),(PackageName "old-time",fromList [(Version {versionBranch = [1,0,0,5], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "old-time-1.0.0.5-45398fe9d274a4e0177157e25427aeec", sourcePackageId = PackageIdentifier {pkgName = PackageName "old-time", pkgVersion = Version {versionBranch = [1,0,0,5], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package provides the old time library.\nFor new code, the new time library is recommended.", category = "System", exposed = True, exposedModules = [ModuleName ["System","Time"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/old-time-1.0.0.5"], libraryDirs = ["/usr/lib/ghc-6.12.3/old-time-1.0.0.5"], hsLibraries = ["HSold-time-1.0.0.5"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/old-time-1.0.0.5/include"], includes = ["HsTime.h"], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "old-locale-1.0.0.2-0c1a4b40f2d3b9f6b725f54c00fe0923"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/old-time-1.0.0.5/old-time.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/old-time-1.0.0.5"]}])]),(PackageName "pretty",fromList [(Version {versionBranch = [1,0,1,1], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "pretty-1.0.1.1-cde327683d86c8644fc9073c368cc5ea", sourcePackageId = PackageIdentifier {pkgName = PackageName "pretty", pkgVersion = Version {versionBranch = [1,0,1,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains John Hughes's pretty-printing library,\nheavily modified by Simon Peyton Jones.", category = "Text", exposed = True, exposedModules = [ModuleName ["Text","PrettyPrint"],ModuleName ["Text","PrettyPrint","HughesPJ"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/pretty-1.0.1.1"], libraryDirs = ["/usr/lib/ghc-6.12.3/pretty-1.0.1.1"], hsLibraries = ["HSpretty-1.0.1.1"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/pretty-1.0.1.1/pretty.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/pretty-1.0.1.1"]}])]),(PackageName "process",fromList [(Version {versionBranch = [1,0,1,3], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "process-1.0.1.3-73f46aa4e6bf1a4f2f418a3c761e4e80", sourcePackageId = PackageIdentifier {pkgName = PackageName "process", pkgVersion = Version {versionBranch = [1,0,1,3], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains libraries for dealing with system processes.", category = "System", exposed = True, exposedModules = [ModuleName ["System","Process","Internals"],ModuleName ["System","Process"],ModuleName ["System","Cmd"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/process-1.0.1.3"], libraryDirs = ["/usr/lib/ghc-6.12.3/process-1.0.1.3"], hsLibraries = ["HSprocess-1.0.1.3"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/process-1.0.1.3/include"], includes = ["runProcess.h"], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "directory-1.0.1.1-f959a158a71fc63ca3822eaf49ec66dc",InstalledPackageId "filepath-1.1.0.4-c303c646a99c2a24d2402008d247eb5f",InstalledPackageId "unix-2.4.0.2-8b7fb1ebcdcb8db413d44db018f084d7"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/process-1.0.1.3/process.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/process-1.0.1.3"]}])]),(PackageName "rts",fromList [(Version {versionBranch = [1,0], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "builtin_rts", sourcePackageId = PackageIdentifier {pkgName = PackageName "rts", pkgVersion = Version {versionBranch = [1,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "glasgow-haskell-users@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "", category = "", exposed = True, exposedModules = [], hiddenModules = [], importDirs = [], libraryDirs = ["/usr/lib/ghc-6.12.3"], hsLibraries = ["HSrts"], extraLibraries = ["m","rt","dl"], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/include"], includes = ["Stg.h"], depends = [InstalledPackageId "builtin_ffi"], hugsOptions = [], ccOptions = [], ldOptions = ["-u","ghczmprim_GHCziTypes_Izh_static_info","-u","ghczmprim_GHCziTypes_Czh_static_info","-u","ghczmprim_GHCziTypes_Fzh_static_info","-u","ghczmprim_GHCziTypes_Dzh_static_info","-u","base_GHCziPtr_Ptr_static_info","-u","base_GHCziWord_Wzh_static_info","-u","base_GHCziInt_I8zh_static_info","-u","base_GHCziInt_I16zh_static_info","-u","base_GHCziInt_I32zh_static_info","-u","base_GHCziInt_I64zh_static_info","-u","base_GHCziWord_W8zh_static_info","-u","base_GHCziWord_W16zh_static_info","-u","base_GHCziWord_W32zh_static_info","-u","base_GHCziWord_W64zh_static_info","-u","base_GHCziStable_StablePtr_static_info","-u","ghczmprim_GHCziTypes_Izh_con_info","-u","ghczmprim_GHCziTypes_Czh_con_info","-u","ghczmprim_GHCziTypes_Fzh_con_info","-u","ghczmprim_GHCziTypes_Dzh_con_info","-u","base_GHCziPtr_Ptr_con_info","-u","base_GHCziPtr_FunPtr_con_info","-u","base_GHCziStable_StablePtr_con_info","-u","ghczmprim_GHCziBool_False_closure","-u","ghczmprim_GHCziBool_True_closure","-u","base_GHCziPack_unpackCString_closure","-u","base_GHCziIOziException_stackOverflow_closure","-u","base_GHCziIOziException_heapOverflow_closure","-u","base_ControlziExceptionziBase_nonTermination_closure","-u","base_GHCziIOziException_blockedIndefinitelyOnMVar_closure","-u","base_GHCziIOziException_blockedIndefinitelyOnSTM_closure","-u","base_ControlziExceptionziBase_nestedAtomically_closure","-u","base_GHCziWeak_runFinalizzerBatch_closure","-u","base_GHCziTopHandler_runIO_closure","-u","base_GHCziTopHandler_runNonIO_closure","-u","base_GHCziConc_ensureIOManagerIsRunning_closure","-u","base_GHCziConc_runSparks_closure","-u","base_GHCziConc_runHandlers_closure"], frameworkDirs = [], frameworks = [], haddockInterfaces = [], haddockHTMLs = []}])]),(PackageName "syb",fromList [(Version {versionBranch = [0,1,0,2], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "syb-0.1.0.2-0917873f366b0be90a48082271223b4e", sourcePackageId = PackageIdentifier {pkgName = PackageName "syb", pkgVersion = Version {versionBranch = [0,1,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains the generics system described in the\n/Scrap Your Boilerplate/ papers (see <http://www.cs.vu.nl/boilerplate/>).\nIt defines the @Data@ class of types permitting folding and unfolding\nof constructor applications, instances of this class for primitive\ntypes, and a variety of traversals.", category = "", exposed = True, exposedModules = [ModuleName ["Data","Generics"],ModuleName ["Data","Generics","Aliases"],ModuleName ["Data","Generics","Basics"],ModuleName ["Data","Generics","Instances"],ModuleName ["Data","Generics","Schemes"],ModuleName ["Data","Generics","Text"],ModuleName ["Data","Generics","Twins"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/syb-0.1.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/syb-0.1.0.2"], hsLibraries = ["HSsyb-0.1.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/syb-0.1.0.2/syb.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/syb-0.1.0.2"]}])]),(PackageName "template-haskell",fromList [(Version {versionBranch = [2,4,0,1], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "template-haskell-2.4.0.1-bf08798b1934e4d6a3f903f58e0d5159", sourcePackageId = PackageIdentifier {pkgName = PackageName "template-haskell", pkgVersion = Version {versionBranch = [2,4,0,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "Facilities for manipulating Haskell source code using Template Haskell.", category = "", exposed = True, exposedModules = [ModuleName ["Language","Haskell","TH","Syntax","Internals"],ModuleName ["Language","Haskell","TH","Syntax"],ModuleName ["Language","Haskell","TH","PprLib"],ModuleName ["Language","Haskell","TH","Ppr"],ModuleName ["Language","Haskell","TH","Lib"],ModuleName ["Language","Haskell","TH","Quote"],ModuleName ["Language","Haskell","TH"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/template-haskell-2.4.0.1"], libraryDirs = ["/usr/lib/ghc-6.12.3/template-haskell-2.4.0.1"], hsLibraries = ["HStemplate-haskell-2.4.0.1"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "containers-0.3.0.0-ee442470d8dcc9e45f31677c400c5379",InstalledPackageId "pretty-1.0.1.1-cde327683d86c8644fc9073c368cc5ea"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/template-haskell-2.4.0.1/template-haskell.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/template-haskell-2.4.0.1"]}])]),(PackageName "unix",fromList [(Version {versionBranch = [2,4,0,2], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "unix-2.4.0.2-8b7fb1ebcdcb8db413d44db018f084d7", sourcePackageId = PackageIdentifier {pkgName = PackageName "unix", pkgVersion = Version {versionBranch = [2,4,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package gives you access to the set of operating system\nservices standardised by POSIX 1003.1b (or the IEEE Portable\nOperating System Interface for Computing Environments -\nIEEE Std. 1003.1).\n\nThe package is not supported under Windows (except under Cygwin).", category = "System", exposed = True, exposedModules = [ModuleName ["System","Posix"],ModuleName ["System","Posix","DynamicLinker","Module"],ModuleName ["System","Posix","DynamicLinker","Prim"],ModuleName ["System","Posix","Directory"],ModuleName ["System","Posix","DynamicLinker"],ModuleName ["System","Posix","Env"],ModuleName ["System","Posix","Error"],ModuleName ["System","Posix","Files"],ModuleName ["System","Posix","IO"],ModuleName ["System","Posix","Process"],ModuleName ["System","Posix","Process","Internals"],ModuleName ["System","Posix","Resource"],ModuleName ["System","Posix","Temp"],ModuleName ["System","Posix","Terminal"],ModuleName ["System","Posix","Time"],ModuleName ["System","Posix","Unistd"],ModuleName ["System","Posix","User"],ModuleName ["System","Posix","Signals"],ModuleName ["System","Posix","Signals","Exts"],ModuleName ["System","Posix","Semaphore"],ModuleName ["System","Posix","SharedMem"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/unix-2.4.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/unix-2.4.0.2"], hsLibraries = ["HSunix-2.4.0.2"], extraLibraries = ["rt","util","dl"], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/unix-2.4.0.2/include"], includes = ["HsUnix.h","execvpe.h"], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/unix-2.4.0.2/unix.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/unix-2.4.0.2"]}])])]), pkgDescrFile = Just "./invalidMain.cabal", localPkgDescr = PackageDescription {package = PackageIdentifier {pkgName = PackageName "invalidMain", pkgVersion = Version {versionBranch = [0,0,1], versionTags = []}}, license = AllRightsReserved, licenseFile = "", copyright = "", maintainer = "", author = "", stability = "", testedWith = [], homepage = "", pkgUrl = "", bugReports = "", sourceRepos = [], synopsis = "", description = "", category = "", customFieldsPD = [], buildDepends = [Dependency (PackageName "base") (IntersectVersionRanges (UnionVersionRanges (ThisVersion (Version {versionBranch = [3,0], versionTags = []})) (LaterVersion (Version {versionBranch = [3,0], versionTags = []}))) (ThisVersion (Version {versionBranch = [3,0,3,2], versionTags = []}))),Dependency (PackageName "ghc") (IntersectVersionRanges (UnionVersionRanges (ThisVersion (Version {versionBranch = [6], versionTags = []})) (LaterVersion (Version {versionBranch = [6], versionTags = []}))) (ThisVersion (Version {versionBranch = [6,12,3], versionTags = []})))], descCabalVersion = UnionVersionRanges (ThisVersion (Version {versionBranch = [1,8], versionTags = []})) (LaterVersion (Version {versionBranch = [1,8], versionTags = []})), buildType = Just Simple, library = Nothing, executables = [Executable {exeName = "invalidMain", modulePath = "Main.hs", buildInfo = BuildInfo {buildable = True, buildTools = [], cppOptions = [], ccOptions = [], ldOptions = [], pkgconfigDepends = [], frameworks = [], cSources = [], hsSourceDirs = ["src","tests"], otherModules = [], extensions = [], extraLibs = [], extraLibDirs = [], includeDirs = [], includes = [], installIncludes = [], options = [(GHC,["-Wall"])], ghcProfOptions = [], ghcSharedOptions = [], customFieldsBI = [], targetBuildDepends = [Dependency (PackageName "base") (IntersectVersionRanges (UnionVersionRanges (ThisVersion (Version {versionBranch = [3,0], versionTags = []})) (LaterVersion (Version {versionBranch = [3,0], versionTags = []}))) (ThisVersion (Version {versionBranch = [3,0,3,2], versionTags = []}))),Dependency (PackageName "ghc") (IntersectVersionRanges (UnionVersionRanges (ThisVersion (Version {versionBranch = [6], versionTags = []})) (LaterVersion (Version {versionBranch = [6], versionTags = []}))) (ThisVersion (Version {versionBranch = [6,12,3], versionTags = []})))]}}], dataFiles = [], dataDir = "", extraSrcFiles = [], extraTmpFiles = []}, withPrograms = [("alex",ConfiguredProgram {programId = "alex", programVersion = Just (Version {versionBranch = [2,3,3], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/local/bin/alex"}}),("ar",ConfiguredProgram {programId = "ar", programVersion = Nothing, programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/ar"}}),("c2hs",ConfiguredProgram {programId = "c2hs", programVersion = Just (Version {versionBranch = [0,16,2], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/local/bin/c2hs"}}),("cpphs",ConfiguredProgram {programId = "cpphs", programVersion = Just (Version {versionBranch = [1,11], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/cpphs"}}),("gcc",ConfiguredProgram {programId = "gcc", programVersion = Just (Version {versionBranch = [4,5,1], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/gcc"}}),("ghc",ConfiguredProgram {programId = "ghc", programVersion = Just (Version {versionBranch = [6,12,3], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/ghc"}}),("ghc-pkg",ConfiguredProgram {programId = "ghc-pkg", programVersion = Just (Version {versionBranch = [6,12,3], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/ghc-pkg"}}),("haddock",ConfiguredProgram {programId = "haddock", programVersion = Just (Version {versionBranch = [2,6,1], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/haddock"}}),("happy",ConfiguredProgram {programId = "happy", programVersion = Just (Version {versionBranch = [1,18,5], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/happy"}}),("hsc2hs",ConfiguredProgram {programId = "hsc2hs", programVersion = Just (Version {versionBranch = [0,67], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/hsc2hs"}}),("hscolour",ConfiguredProgram {programId = "hscolour", programVersion = Just (Version {versionBranch = [1,16], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/HsColour"}}),("ld",ConfiguredProgram {programId = "ld", programVersion = Nothing, programArgs = ["-x"], programLocation = FoundOnSystem {locationPath = "/usr/bin/ld"}}),("pkg-config",ConfiguredProgram {programId = "pkg-config", programVersion = Just (Version {versionBranch = [0,25], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/pkg-config"}}),("ranlib",ConfiguredProgram {programId = "ranlib", programVersion = Nothing, programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/ranlib"}}),("strip",ConfiguredProgram {programId = "strip", programVersion = Nothing, programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/strip"}}),("tar",ConfiguredProgram {programId = "tar", programVersion = Nothing, programArgs = [], programLocation = FoundOnSystem {locationPath = "/bin/tar"}})], withPackageDB = [GlobalPackageDB,UserPackageDB], withVanillaLib = True, withProfLib = False, withSharedLib = False, withProfExe = False, withOptimization = NormalOptimisation, withGHCiLib = True, splitObjs = False, stripExes = True, progPrefix = "", progSuffix = ""}
− testsuite/tests/resources/invalidMain/invalidMain.cabal
@@ -1,12 +0,0 @@-Name:     invalidMain-Version:  0.0.1-cabal-version: >= 1.8-build-type: Simple--Executable invalidMain-  Main-Is: Main.hs-  ghc-options: -Wall-  hs-source-dirs: src tests-  build-depends: ghc >= 6-                 ,base >= 3.0-
− testsuite/tests/resources/invalidMain/src/Main.hs
@@ -1,4 +0,0 @@-module Main- where--main = putStrLn "42"
− testsuite/tests/resources/invalidMain/tests/Dummy.hs
@@ -1,3 +0,0 @@-module Dummy - where -
− testsuite/tests/resources/noSourceConfig/dist/setup-config
@@ -1,2 +0,0 @@-Saved package config for noHsSource-0.0.1 written by Cabal-1.8.0.6 using ghc-6.12-LocalBuildInfo {installDirTemplates = InstallDirs {prefix = "/home/sora/.cabal", bindir = "$prefix/bin", libdir = "$prefix/lib", libsubdir = "$pkgid/$compiler", dynlibdir = "$libdir", libexecdir = "$prefix/libexec", progdir = "$libdir/hugs/programs", includedir = "$libdir/$libsubdir/include", datadir = "$prefix/share", datasubdir = "$pkgid", docdir = "$datadir/doc/$pkgid", mandir = "$datadir/man", htmldir = "$docdir/html", haddockdir = "$htmldir"}, compiler = Compiler {compilerId = CompilerId GHC (Version {versionBranch = [6,12,3], versionTags = []}), compilerExtensions = [(CPP,"-XCPP"),(PostfixOperators,"-XPostfixOperators"),(UnknownExtension "TupleSections","-XTupleSections"),(PatternGuards,"-XPatternGuards"),(UnicodeSyntax,"-XUnicodeSyntax"),(MagicHash,"-XMagicHash"),(PolymorphicComponents,"-XPolymorphicComponents"),(ExistentialQuantification,"-XExistentialQuantification"),(KindSignatures,"-XKindSignatures"),(EmptyDataDecls,"-XEmptyDataDecls"),(ParallelListComp,"-XParallelListComp"),(TransformListComp,"-XTransformListComp"),(ForeignFunctionInterface,"-XForeignFunctionInterface"),(UnliftedFFITypes,"-XUnliftedFFITypes"),(UnknownExtension "GHCForeignImportPrim","-XGHCForeignImportPrim"),(LiberalTypeSynonyms,"-XLiberalTypeSynonyms"),(Rank2Types,"-XRank2Types"),(RankNTypes,"-XRankNTypes"),(ImpredicativeTypes,"-XImpredicativeTypes"),(TypeOperators,"-XTypeOperators"),(RecursiveDo,"-XRecursiveDo"),(UnknownExtension "DoRec","-XDoRec"),(Arrows,"-XArrows"),(UnknownExtension "PArr","-XPArr"),(TemplateHaskell,"-XTemplateHaskell"),(QuasiQuotes,"-XQuasiQuotes"),(Generics,"-XGenerics"),(NoImplicitPrelude,"-XNoImplicitPrelude"),(RecordWildCards,"-XRecordWildCards"),(NamedFieldPuns,"-XNamedFieldPuns"),(RecordPuns,"-XRecordPuns"),(DisambiguateRecordFields,"-XDisambiguateRecordFields"),(OverloadedStrings,"-XOverloadedStrings"),(GADTs,"-XGADTs"),(ViewPatterns,"-XViewPatterns"),(TypeFamilies,"-XTypeFamilies"),(BangPatterns,"-XBangPatterns"),(NoMonomorphismRestriction,"-XNoMonomorphismRestriction"),(UnknownExtension "NPlusKPatterns","-XNPlusKPatterns"),(NoMonoPatBinds,"-XNoMonoPatBinds"),(UnknownExtension "ExplicitForAll","-XExplicitForAll"),(UnknownExtension "MonoLocalBinds","-XMonoLocalBinds"),(RelaxedPolyRec,"-XRelaxedPolyRec"),(ExtendedDefaultRules,"-XExtendedDefaultRules"),(ImplicitParams,"-XImplicitParams"),(ScopedTypeVariables,"-XScopedTypeVariables"),(PatternSignatures,"-XPatternSignatures"),(UnboxedTuples,"-XUnboxedTuples"),(StandaloneDeriving,"-XStandaloneDeriving"),(DeriveDataTypeable,"-XDeriveDataTypeable"),(UnknownExtension "DeriveFunctor","-XDeriveFunctor"),(UnknownExtension "DeriveTraversable","-XDeriveTraversable"),(UnknownExtension "DeriveFoldable","-XDeriveFoldable"),(TypeSynonymInstances,"-XTypeSynonymInstances"),(FlexibleContexts,"-XFlexibleContexts"),(FlexibleInstances,"-XFlexibleInstances"),(ConstrainedClassMethods,"-XConstrainedClassMethods"),(MultiParamTypeClasses,"-XMultiParamTypeClasses"),(FunctionalDependencies,"-XFunctionalDependencies"),(GeneralizedNewtypeDeriving,"-XGeneralizedNewtypeDeriving"),(OverlappingInstances,"-XOverlappingInstances"),(UndecidableInstances,"-XUndecidableInstances"),(IncoherentInstances,"-XIncoherentInstances"),(PackageImports,"-XPackageImports"),(NewQualifiedOperators,"-XNewQualifiedOperators")]}, buildDir = "dist/build", scratchDir = "dist/scratch", libraryConfig = Nothing, executableConfigs = [("noHsSource",ComponentLocalBuildInfo {componentPackageDeps = [(InstalledPackageId "base-3.0.3.2-260693a92016991a03206b5a55f6a411",PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [3,0,3,2], versionTags = []}})]})], installedPkgs = PackageIndex (fromList [(InstalledPackageId "base-3.0.3.2-260693a92016991a03206b5a55f6a411",InstalledPackageInfo {installedPackageId = InstalledPackageId "base-3.0.3.2-260693a92016991a03206b5a55f6a411", sourcePackageId = PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [3,0,3,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This is a backwards-compatible version of the base package.\nIt depends on a later version of base, and was probably supplied\nwith your compiler when it was installed.", category = "", exposed = True, exposedModules = [ModuleName ["Data","Generics"],ModuleName ["Data","Generics","Aliases"],ModuleName ["Data","Generics","Basics"],ModuleName ["Data","Generics","Instances"],ModuleName ["Data","Generics","Schemes"],ModuleName ["Data","Generics","Text"],ModuleName ["Data","Generics","Twins"],ModuleName ["Foreign","Concurrent"],ModuleName ["GHC","Arr"],ModuleName ["GHC","Base"],ModuleName ["GHC","Conc"],ModuleName ["GHC","ConsoleHandler"],ModuleName ["GHC","Desugar"],ModuleName ["GHC","Dotnet"],ModuleName ["GHC","Enum"],ModuleName ["GHC","Environment"],ModuleName ["GHC","Err"],ModuleName ["GHC","Exception"],ModuleName ["GHC","Exts"],ModuleName ["GHC","Float"],ModuleName ["GHC","ForeignPtr"],ModuleName ["GHC","Handle"],ModuleName ["GHC","IO"],ModuleName ["GHC","IOBase"],ModuleName ["GHC","Int"],ModuleName ["GHC","List"],ModuleName ["GHC","Num"],ModuleName ["GHC","PArr"],ModuleName ["GHC","Pack"],ModuleName ["GHC","Ptr"],ModuleName ["GHC","Read"],ModuleName ["GHC","Real"],ModuleName ["GHC","ST"],ModuleName ["GHC","STRef"],ModuleName ["GHC","Show"],ModuleName ["GHC","Stable"],ModuleName ["GHC","Storable"],ModuleName ["GHC","TopHandler"],ModuleName ["GHC","Unicode"],ModuleName ["GHC","Weak"],ModuleName ["GHC","Word"],ModuleName ["System","Timeout"],ModuleName ["Control","Applicative"],ModuleName ["Control","Arrow"],ModuleName ["Control","Category"],ModuleName ["Control","Concurrent"],ModuleName ["Control","Concurrent","Chan"],ModuleName ["Control","Concurrent","MVar"],ModuleName ["Control","Concurrent","QSem"],ModuleName ["Control","Concurrent","QSemN"],ModuleName ["Control","Concurrent","SampleVar"],ModuleName ["Control","Exception"],ModuleName ["Control","Monad"],ModuleName ["Control","Monad","Fix"],ModuleName ["Control","Monad","Instances"],ModuleName ["Control","Monad","ST"],ModuleName ["Control","Monad","ST","Lazy"],ModuleName ["Control","Monad","ST","Strict"],ModuleName ["Data","Bits"],ModuleName ["Data","Bool"],ModuleName ["Data","Char"],ModuleName ["Data","Complex"],ModuleName ["Data","Dynamic"],ModuleName ["Data","Either"],ModuleName ["Data","Eq"],ModuleName ["Data","Fixed"],ModuleName ["Data","Foldable"],ModuleName ["Data","Function"],ModuleName ["Data","HashTable"],ModuleName ["Data","IORef"],ModuleName ["Data","Int"],ModuleName ["Data","Ix"],ModuleName ["Data","List"],ModuleName ["Data","Maybe"],ModuleName ["Data","Monoid"],ModuleName ["Data","Ord"],ModuleName ["Data","Ratio"],ModuleName ["Data","STRef"],ModuleName ["Data","STRef","Lazy"],ModuleName ["Data","STRef","Strict"],ModuleName ["Data","String"],ModuleName ["Data","Traversable"],ModuleName ["Data","Tuple"],ModuleName ["Data","Typeable"],ModuleName ["Data","Unique"],ModuleName ["Data","Version"],ModuleName ["Data","Word"],ModuleName ["Debug","Trace"],ModuleName ["Foreign"],ModuleName ["Foreign","C"],ModuleName ["Foreign","C","Error"],ModuleName ["Foreign","C","String"],ModuleName ["Foreign","C","Types"],ModuleName ["Foreign","ForeignPtr"],ModuleName ["Foreign","Marshal"],ModuleName ["Foreign","Marshal","Alloc"],ModuleName ["Foreign","Marshal","Array"],ModuleName ["Foreign","Marshal","Error"],ModuleName ["Foreign","Marshal","Pool"],ModuleName ["Foreign","Marshal","Utils"],ModuleName ["Foreign","Ptr"],ModuleName ["Foreign","StablePtr"],ModuleName ["Foreign","Storable"],ModuleName ["Numeric"],ModuleName ["Prelude"],ModuleName ["System","Console","GetOpt"],ModuleName ["System","CPUTime"],ModuleName ["System","Environment"],ModuleName ["System","Exit"],ModuleName ["System","IO"],ModuleName ["System","IO","Error"],ModuleName ["System","IO","Unsafe"],ModuleName ["System","Info"],ModuleName ["System","Mem"],ModuleName ["System","Mem","StableName"],ModuleName ["System","Mem","Weak"],ModuleName ["System","Posix","Internals"],ModuleName ["System","Posix","Types"],ModuleName ["Text","ParserCombinators","ReadP"],ModuleName ["Text","ParserCombinators","ReadPrec"],ModuleName ["Text","Printf"],ModuleName ["Text","Read"],ModuleName ["Text","Read","Lex"],ModuleName ["Text","Show"],ModuleName ["Text","Show","Functions"],ModuleName ["Unsafe","Coerce"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/base-3.0.3.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/base-3.0.3.2"], hsLibraries = ["HSbase-3.0.3.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "syb-0.1.0.2-0917873f366b0be90a48082271223b4e"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/base-3.0.3.2/base.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/base-3.0.3.2"]}),(InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageInfo {installedPackageId = InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3", sourcePackageId = PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [4,2,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains the Prelude and its support libraries,\nand a large collection of useful libraries ranging from data\nstructures to parsing combinators and debugging utilities.", category = "", exposed = True, exposedModules = [ModuleName ["Foreign","Concurrent"],ModuleName ["GHC","Arr"],ModuleName ["GHC","Base"],ModuleName ["GHC","Classes"],ModuleName ["GHC","Conc"],ModuleName ["GHC","ConsoleHandler"],ModuleName ["GHC","Constants"],ModuleName ["GHC","Desugar"],ModuleName ["GHC","Enum"],ModuleName ["GHC","Environment"],ModuleName ["GHC","Err"],ModuleName ["GHC","Exception"],ModuleName ["GHC","Exts"],ModuleName ["GHC","Float"],ModuleName ["GHC","ForeignPtr"],ModuleName ["GHC","MVar"],ModuleName ["GHC","IO"],ModuleName ["GHC","IO","IOMode"],ModuleName ["GHC","IO","Buffer"],ModuleName ["GHC","IO","Device"],ModuleName ["GHC","IO","BufferedIO"],ModuleName ["GHC","IO","FD"],ModuleName ["GHC","IO","Exception"],ModuleName ["GHC","IO","Encoding"],ModuleName ["GHC","IO","Encoding","Latin1"],ModuleName ["GHC","IO","Encoding","UTF8"],ModuleName ["GHC","IO","Encoding","UTF16"],ModuleName ["GHC","IO","Encoding","UTF32"],ModuleName ["GHC","IO","Encoding","Types"],ModuleName ["GHC","IO","Encoding","Iconv"],ModuleName ["GHC","IO","Encoding","CodePage"],ModuleName ["GHC","IO","Handle"],ModuleName ["GHC","IO","Handle","Types"],ModuleName ["GHC","IO","Handle","Internals"],ModuleName ["GHC","IO","Handle","FD"],ModuleName ["GHC","IO","Handle","Text"],ModuleName ["GHC","IOBase"],ModuleName ["GHC","Handle"],ModuleName ["GHC","IORef"],ModuleName ["GHC","IOArray"],ModuleName ["GHC","Int"],ModuleName ["GHC","List"],ModuleName ["GHC","Num"],ModuleName ["GHC","PArr"],ModuleName ["GHC","Pack"],ModuleName ["GHC","Ptr"],ModuleName ["GHC","Read"],ModuleName ["GHC","Real"],ModuleName ["GHC","ST"],ModuleName ["GHC","STRef"],ModuleName ["GHC","Show"],ModuleName ["GHC","Stable"],ModuleName ["GHC","Storable"],ModuleName ["GHC","TopHandler"],ModuleName ["GHC","Unicode"],ModuleName ["GHC","Weak"],ModuleName ["GHC","Word"],ModuleName ["System","Timeout"],ModuleName ["Control","Applicative"],ModuleName ["Control","Arrow"],ModuleName ["Control","Category"],ModuleName ["Control","Concurrent"],ModuleName ["Control","Concurrent","Chan"],ModuleName ["Control","Concurrent","MVar"],ModuleName ["Control","Concurrent","QSem"],ModuleName ["Control","Concurrent","QSemN"],ModuleName ["Control","Concurrent","SampleVar"],ModuleName ["Control","Exception"],ModuleName ["Control","Exception","Base"],ModuleName ["Control","OldException"],ModuleName ["Control","Monad"],ModuleName ["Control","Monad","Fix"],ModuleName ["Control","Monad","Instances"],ModuleName ["Control","Monad","ST"],ModuleName ["Control","Monad","ST","Lazy"],ModuleName ["Control","Monad","ST","Strict"],ModuleName ["Data","Bits"],ModuleName ["Data","Bool"],ModuleName ["Data","Char"],ModuleName ["Data","Complex"],ModuleName ["Data","Dynamic"],ModuleName ["Data","Either"],ModuleName ["Data","Eq"],ModuleName ["Data","Data"],ModuleName ["Data","Fixed"],ModuleName ["Data","Foldable"],ModuleName ["Data","Function"],ModuleName ["Data","Functor"],ModuleName ["Data","HashTable"],ModuleName ["Data","IORef"],ModuleName ["Data","Int"],ModuleName ["Data","Ix"],ModuleName ["Data","List"],ModuleName ["Data","Maybe"],ModuleName ["Data","Monoid"],ModuleName ["Data","Ord"],ModuleName ["Data","Ratio"],ModuleName ["Data","STRef"],ModuleName ["Data","STRef","Lazy"],ModuleName ["Data","STRef","Strict"],ModuleName ["Data","String"],ModuleName ["Data","Traversable"],ModuleName ["Data","Tuple"],ModuleName ["Data","Typeable"],ModuleName ["Data","Unique"],ModuleName ["Data","Version"],ModuleName ["Data","Word"],ModuleName ["Debug","Trace"],ModuleName ["Foreign"],ModuleName ["Foreign","C"],ModuleName ["Foreign","C","Error"],ModuleName ["Foreign","C","String"],ModuleName ["Foreign","C","Types"],ModuleName ["Foreign","ForeignPtr"],ModuleName ["Foreign","Marshal"],ModuleName ["Foreign","Marshal","Alloc"],ModuleName ["Foreign","Marshal","Array"],ModuleName ["Foreign","Marshal","Error"],ModuleName ["Foreign","Marshal","Pool"],ModuleName ["Foreign","Marshal","Utils"],ModuleName ["Foreign","Ptr"],ModuleName ["Foreign","StablePtr"],ModuleName ["Foreign","Storable"],ModuleName ["Numeric"],ModuleName ["Prelude"],ModuleName ["System","Console","GetOpt"],ModuleName ["System","CPUTime"],ModuleName ["System","Environment"],ModuleName ["System","Exit"],ModuleName ["System","IO"],ModuleName ["System","IO","Error"],ModuleName ["System","IO","Unsafe"],ModuleName ["System","Info"],ModuleName ["System","Mem"],ModuleName ["System","Mem","StableName"],ModuleName ["System","Mem","Weak"],ModuleName ["System","Posix","Internals"],ModuleName ["System","Posix","Types"],ModuleName ["Text","ParserCombinators","ReadP"],ModuleName ["Text","ParserCombinators","ReadPrec"],ModuleName ["Text","Printf"],ModuleName ["Text","Read"],ModuleName ["Text","Read","Lex"],ModuleName ["Text","Show"],ModuleName ["Text","Show","Functions"],ModuleName ["Unsafe","Coerce"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/base-4.2.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/base-4.2.0.2"], hsLibraries = ["HSbase-4.2.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/base-4.2.0.2/include"], includes = ["HsBase.h"], depends = [InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11",InstalledPackageId "integer-gmp-0.2.0.1-72436e28c79d056c87cc0d2d2f9f3773",InstalledPackageId "builtin_rts"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/base-4.2.0.2/base.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/base-4.2.0.2"]}),(InstalledPackageId "builtin_ffi",InstalledPackageInfo {installedPackageId = InstalledPackageId "builtin_ffi", sourcePackageId = PackageIdentifier {pkgName = PackageName "ffi", pkgVersion = Version {versionBranch = [1,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "glasgow-haskell-users@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "", category = "", exposed = True, exposedModules = [], hiddenModules = [], importDirs = [], libraryDirs = ["/usr/lib/ghc-6.12.3"], hsLibraries = ["HSffi"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/include"], includes = [], depends = [], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = [], haddockHTMLs = []}),(InstalledPackageId "builtin_rts",InstalledPackageInfo {installedPackageId = InstalledPackageId "builtin_rts", sourcePackageId = PackageIdentifier {pkgName = PackageName "rts", pkgVersion = Version {versionBranch = [1,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "glasgow-haskell-users@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "", category = "", exposed = True, exposedModules = [], hiddenModules = [], importDirs = [], libraryDirs = ["/usr/lib/ghc-6.12.3"], hsLibraries = ["HSrts"], extraLibraries = ["m","rt","dl"], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/include"], includes = ["Stg.h"], depends = [InstalledPackageId "builtin_ffi"], hugsOptions = [], ccOptions = [], ldOptions = ["-u","ghczmprim_GHCziTypes_Izh_static_info","-u","ghczmprim_GHCziTypes_Czh_static_info","-u","ghczmprim_GHCziTypes_Fzh_static_info","-u","ghczmprim_GHCziTypes_Dzh_static_info","-u","base_GHCziPtr_Ptr_static_info","-u","base_GHCziWord_Wzh_static_info","-u","base_GHCziInt_I8zh_static_info","-u","base_GHCziInt_I16zh_static_info","-u","base_GHCziInt_I32zh_static_info","-u","base_GHCziInt_I64zh_static_info","-u","base_GHCziWord_W8zh_static_info","-u","base_GHCziWord_W16zh_static_info","-u","base_GHCziWord_W32zh_static_info","-u","base_GHCziWord_W64zh_static_info","-u","base_GHCziStable_StablePtr_static_info","-u","ghczmprim_GHCziTypes_Izh_con_info","-u","ghczmprim_GHCziTypes_Czh_con_info","-u","ghczmprim_GHCziTypes_Fzh_con_info","-u","ghczmprim_GHCziTypes_Dzh_con_info","-u","base_GHCziPtr_Ptr_con_info","-u","base_GHCziPtr_FunPtr_con_info","-u","base_GHCziStable_StablePtr_con_info","-u","ghczmprim_GHCziBool_False_closure","-u","ghczmprim_GHCziBool_True_closure","-u","base_GHCziPack_unpackCString_closure","-u","base_GHCziIOziException_stackOverflow_closure","-u","base_GHCziIOziException_heapOverflow_closure","-u","base_ControlziExceptionziBase_nonTermination_closure","-u","base_GHCziIOziException_blockedIndefinitelyOnMVar_closure","-u","base_GHCziIOziException_blockedIndefinitelyOnSTM_closure","-u","base_ControlziExceptionziBase_nestedAtomically_closure","-u","base_GHCziWeak_runFinalizzerBatch_closure","-u","base_GHCziTopHandler_runIO_closure","-u","base_GHCziTopHandler_runNonIO_closure","-u","base_GHCziConc_ensureIOManagerIsRunning_closure","-u","base_GHCziConc_runSparks_closure","-u","base_GHCziConc_runHandlers_closure"], frameworkDirs = [], frameworks = [], haddockInterfaces = [], haddockHTMLs = []}),(InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11",InstalledPackageInfo {installedPackageId = InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11", sourcePackageId = PackageIdentifier {pkgName = PackageName "ghc-prim", pkgVersion = Version {versionBranch = [0,2,0,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "GHC primitives.", category = "", exposed = True, exposedModules = [ModuleName ["GHC","Prim"],ModuleName ["GHC","Bool"],ModuleName ["GHC","Debug"],ModuleName ["GHC","Generics"],ModuleName ["GHC","Ordering"],ModuleName ["GHC","PrimopWrappers"],ModuleName ["GHC","IntWord32"],ModuleName ["GHC","IntWord64"],ModuleName ["GHC","Tuple"],ModuleName ["GHC","Types"],ModuleName ["GHC","Unit"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/ghc-prim-0.2.0.0"], libraryDirs = ["/usr/lib/ghc-6.12.3/ghc-prim-0.2.0.0"], hsLibraries = ["HSghc-prim-0.2.0.0"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "builtin_rts"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/ghc-prim.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0"]}),(InstalledPackageId "integer-gmp-0.2.0.1-72436e28c79d056c87cc0d2d2f9f3773",InstalledPackageInfo {installedPackageId = InstalledPackageId "integer-gmp-0.2.0.1-72436e28c79d056c87cc0d2d2f9f3773", sourcePackageId = PackageIdentifier {pkgName = PackageName "integer-gmp", pkgVersion = Version {versionBranch = [0,2,0,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains an Integer library based on GMP.", category = "", exposed = True, exposedModules = [ModuleName ["GHC","Integer"],ModuleName ["GHC","Integer","GMP","Internals"]], hiddenModules = [ModuleName ["GHC","Integer","Type"]], importDirs = ["/usr/lib/ghc-6.12.3/integer-gmp-0.2.0.1"], libraryDirs = ["/usr/lib/ghc-6.12.3/integer-gmp-0.2.0.1"], hsLibraries = ["HSinteger-gmp-0.2.0.1"], extraLibraries = ["gmp"], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/integer-gmp-0.2.0.1/integer-gmp.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/integer-gmp-0.2.0.1"]}),(InstalledPackageId "syb-0.1.0.2-0917873f366b0be90a48082271223b4e",InstalledPackageInfo {installedPackageId = InstalledPackageId "syb-0.1.0.2-0917873f366b0be90a48082271223b4e", sourcePackageId = PackageIdentifier {pkgName = PackageName "syb", pkgVersion = Version {versionBranch = [0,1,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains the generics system described in the\n/Scrap Your Boilerplate/ papers (see <http://www.cs.vu.nl/boilerplate/>).\nIt defines the @Data@ class of types permitting folding and unfolding\nof constructor applications, instances of this class for primitive\ntypes, and a variety of traversals.", category = "", exposed = True, exposedModules = [ModuleName ["Data","Generics"],ModuleName ["Data","Generics","Aliases"],ModuleName ["Data","Generics","Basics"],ModuleName ["Data","Generics","Instances"],ModuleName ["Data","Generics","Schemes"],ModuleName ["Data","Generics","Text"],ModuleName ["Data","Generics","Twins"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/syb-0.1.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/syb-0.1.0.2"], hsLibraries = ["HSsyb-0.1.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/syb-0.1.0.2/syb.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/syb-0.1.0.2"]})]) (fromList [(PackageName "base",fromList [(Version {versionBranch = [3,0,3,2], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "base-3.0.3.2-260693a92016991a03206b5a55f6a411", sourcePackageId = PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [3,0,3,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This is a backwards-compatible version of the base package.\nIt depends on a later version of base, and was probably supplied\nwith your compiler when it was installed.", category = "", exposed = True, exposedModules = [ModuleName ["Data","Generics"],ModuleName ["Data","Generics","Aliases"],ModuleName ["Data","Generics","Basics"],ModuleName ["Data","Generics","Instances"],ModuleName ["Data","Generics","Schemes"],ModuleName ["Data","Generics","Text"],ModuleName ["Data","Generics","Twins"],ModuleName ["Foreign","Concurrent"],ModuleName ["GHC","Arr"],ModuleName ["GHC","Base"],ModuleName ["GHC","Conc"],ModuleName ["GHC","ConsoleHandler"],ModuleName ["GHC","Desugar"],ModuleName ["GHC","Dotnet"],ModuleName ["GHC","Enum"],ModuleName ["GHC","Environment"],ModuleName ["GHC","Err"],ModuleName ["GHC","Exception"],ModuleName ["GHC","Exts"],ModuleName ["GHC","Float"],ModuleName ["GHC","ForeignPtr"],ModuleName ["GHC","Handle"],ModuleName ["GHC","IO"],ModuleName ["GHC","IOBase"],ModuleName ["GHC","Int"],ModuleName ["GHC","List"],ModuleName ["GHC","Num"],ModuleName ["GHC","PArr"],ModuleName ["GHC","Pack"],ModuleName ["GHC","Ptr"],ModuleName ["GHC","Read"],ModuleName ["GHC","Real"],ModuleName ["GHC","ST"],ModuleName ["GHC","STRef"],ModuleName ["GHC","Show"],ModuleName ["GHC","Stable"],ModuleName ["GHC","Storable"],ModuleName ["GHC","TopHandler"],ModuleName ["GHC","Unicode"],ModuleName ["GHC","Weak"],ModuleName ["GHC","Word"],ModuleName ["System","Timeout"],ModuleName ["Control","Applicative"],ModuleName ["Control","Arrow"],ModuleName ["Control","Category"],ModuleName ["Control","Concurrent"],ModuleName ["Control","Concurrent","Chan"],ModuleName ["Control","Concurrent","MVar"],ModuleName ["Control","Concurrent","QSem"],ModuleName ["Control","Concurrent","QSemN"],ModuleName ["Control","Concurrent","SampleVar"],ModuleName ["Control","Exception"],ModuleName ["Control","Monad"],ModuleName ["Control","Monad","Fix"],ModuleName ["Control","Monad","Instances"],ModuleName ["Control","Monad","ST"],ModuleName ["Control","Monad","ST","Lazy"],ModuleName ["Control","Monad","ST","Strict"],ModuleName ["Data","Bits"],ModuleName ["Data","Bool"],ModuleName ["Data","Char"],ModuleName ["Data","Complex"],ModuleName ["Data","Dynamic"],ModuleName ["Data","Either"],ModuleName ["Data","Eq"],ModuleName ["Data","Fixed"],ModuleName ["Data","Foldable"],ModuleName ["Data","Function"],ModuleName ["Data","HashTable"],ModuleName ["Data","IORef"],ModuleName ["Data","Int"],ModuleName ["Data","Ix"],ModuleName ["Data","List"],ModuleName ["Data","Maybe"],ModuleName ["Data","Monoid"],ModuleName ["Data","Ord"],ModuleName ["Data","Ratio"],ModuleName ["Data","STRef"],ModuleName ["Data","STRef","Lazy"],ModuleName ["Data","STRef","Strict"],ModuleName ["Data","String"],ModuleName ["Data","Traversable"],ModuleName ["Data","Tuple"],ModuleName ["Data","Typeable"],ModuleName ["Data","Unique"],ModuleName ["Data","Version"],ModuleName ["Data","Word"],ModuleName ["Debug","Trace"],ModuleName ["Foreign"],ModuleName ["Foreign","C"],ModuleName ["Foreign","C","Error"],ModuleName ["Foreign","C","String"],ModuleName ["Foreign","C","Types"],ModuleName ["Foreign","ForeignPtr"],ModuleName ["Foreign","Marshal"],ModuleName ["Foreign","Marshal","Alloc"],ModuleName ["Foreign","Marshal","Array"],ModuleName ["Foreign","Marshal","Error"],ModuleName ["Foreign","Marshal","Pool"],ModuleName ["Foreign","Marshal","Utils"],ModuleName ["Foreign","Ptr"],ModuleName ["Foreign","StablePtr"],ModuleName ["Foreign","Storable"],ModuleName ["Numeric"],ModuleName ["Prelude"],ModuleName ["System","Console","GetOpt"],ModuleName ["System","CPUTime"],ModuleName ["System","Environment"],ModuleName ["System","Exit"],ModuleName ["System","IO"],ModuleName ["System","IO","Error"],ModuleName ["System","IO","Unsafe"],ModuleName ["System","Info"],ModuleName ["System","Mem"],ModuleName ["System","Mem","StableName"],ModuleName ["System","Mem","Weak"],ModuleName ["System","Posix","Internals"],ModuleName ["System","Posix","Types"],ModuleName ["Text","ParserCombinators","ReadP"],ModuleName ["Text","ParserCombinators","ReadPrec"],ModuleName ["Text","Printf"],ModuleName ["Text","Read"],ModuleName ["Text","Read","Lex"],ModuleName ["Text","Show"],ModuleName ["Text","Show","Functions"],ModuleName ["Unsafe","Coerce"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/base-3.0.3.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/base-3.0.3.2"], hsLibraries = ["HSbase-3.0.3.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "syb-0.1.0.2-0917873f366b0be90a48082271223b4e"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/base-3.0.3.2/base.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/base-3.0.3.2"]}]),(Version {versionBranch = [4,2,0,2], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3", sourcePackageId = PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [4,2,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains the Prelude and its support libraries,\nand a large collection of useful libraries ranging from data\nstructures to parsing combinators and debugging utilities.", category = "", exposed = True, exposedModules = [ModuleName ["Foreign","Concurrent"],ModuleName ["GHC","Arr"],ModuleName ["GHC","Base"],ModuleName ["GHC","Classes"],ModuleName ["GHC","Conc"],ModuleName ["GHC","ConsoleHandler"],ModuleName ["GHC","Constants"],ModuleName ["GHC","Desugar"],ModuleName ["GHC","Enum"],ModuleName ["GHC","Environment"],ModuleName ["GHC","Err"],ModuleName ["GHC","Exception"],ModuleName ["GHC","Exts"],ModuleName ["GHC","Float"],ModuleName ["GHC","ForeignPtr"],ModuleName ["GHC","MVar"],ModuleName ["GHC","IO"],ModuleName ["GHC","IO","IOMode"],ModuleName ["GHC","IO","Buffer"],ModuleName ["GHC","IO","Device"],ModuleName ["GHC","IO","BufferedIO"],ModuleName ["GHC","IO","FD"],ModuleName ["GHC","IO","Exception"],ModuleName ["GHC","IO","Encoding"],ModuleName ["GHC","IO","Encoding","Latin1"],ModuleName ["GHC","IO","Encoding","UTF8"],ModuleName ["GHC","IO","Encoding","UTF16"],ModuleName ["GHC","IO","Encoding","UTF32"],ModuleName ["GHC","IO","Encoding","Types"],ModuleName ["GHC","IO","Encoding","Iconv"],ModuleName ["GHC","IO","Encoding","CodePage"],ModuleName ["GHC","IO","Handle"],ModuleName ["GHC","IO","Handle","Types"],ModuleName ["GHC","IO","Handle","Internals"],ModuleName ["GHC","IO","Handle","FD"],ModuleName ["GHC","IO","Handle","Text"],ModuleName ["GHC","IOBase"],ModuleName ["GHC","Handle"],ModuleName ["GHC","IORef"],ModuleName ["GHC","IOArray"],ModuleName ["GHC","Int"],ModuleName ["GHC","List"],ModuleName ["GHC","Num"],ModuleName ["GHC","PArr"],ModuleName ["GHC","Pack"],ModuleName ["GHC","Ptr"],ModuleName ["GHC","Read"],ModuleName ["GHC","Real"],ModuleName ["GHC","ST"],ModuleName ["GHC","STRef"],ModuleName ["GHC","Show"],ModuleName ["GHC","Stable"],ModuleName ["GHC","Storable"],ModuleName ["GHC","TopHandler"],ModuleName ["GHC","Unicode"],ModuleName ["GHC","Weak"],ModuleName ["GHC","Word"],ModuleName ["System","Timeout"],ModuleName ["Control","Applicative"],ModuleName ["Control","Arrow"],ModuleName ["Control","Category"],ModuleName ["Control","Concurrent"],ModuleName ["Control","Concurrent","Chan"],ModuleName ["Control","Concurrent","MVar"],ModuleName ["Control","Concurrent","QSem"],ModuleName ["Control","Concurrent","QSemN"],ModuleName ["Control","Concurrent","SampleVar"],ModuleName ["Control","Exception"],ModuleName ["Control","Exception","Base"],ModuleName ["Control","OldException"],ModuleName ["Control","Monad"],ModuleName ["Control","Monad","Fix"],ModuleName ["Control","Monad","Instances"],ModuleName ["Control","Monad","ST"],ModuleName ["Control","Monad","ST","Lazy"],ModuleName ["Control","Monad","ST","Strict"],ModuleName ["Data","Bits"],ModuleName ["Data","Bool"],ModuleName ["Data","Char"],ModuleName ["Data","Complex"],ModuleName ["Data","Dynamic"],ModuleName ["Data","Either"],ModuleName ["Data","Eq"],ModuleName ["Data","Data"],ModuleName ["Data","Fixed"],ModuleName ["Data","Foldable"],ModuleName ["Data","Function"],ModuleName ["Data","Functor"],ModuleName ["Data","HashTable"],ModuleName ["Data","IORef"],ModuleName ["Data","Int"],ModuleName ["Data","Ix"],ModuleName ["Data","List"],ModuleName ["Data","Maybe"],ModuleName ["Data","Monoid"],ModuleName ["Data","Ord"],ModuleName ["Data","Ratio"],ModuleName ["Data","STRef"],ModuleName ["Data","STRef","Lazy"],ModuleName ["Data","STRef","Strict"],ModuleName ["Data","String"],ModuleName ["Data","Traversable"],ModuleName ["Data","Tuple"],ModuleName ["Data","Typeable"],ModuleName ["Data","Unique"],ModuleName ["Data","Version"],ModuleName ["Data","Word"],ModuleName ["Debug","Trace"],ModuleName ["Foreign"],ModuleName ["Foreign","C"],ModuleName ["Foreign","C","Error"],ModuleName ["Foreign","C","String"],ModuleName ["Foreign","C","Types"],ModuleName ["Foreign","ForeignPtr"],ModuleName ["Foreign","Marshal"],ModuleName ["Foreign","Marshal","Alloc"],ModuleName ["Foreign","Marshal","Array"],ModuleName ["Foreign","Marshal","Error"],ModuleName ["Foreign","Marshal","Pool"],ModuleName ["Foreign","Marshal","Utils"],ModuleName ["Foreign","Ptr"],ModuleName ["Foreign","StablePtr"],ModuleName ["Foreign","Storable"],ModuleName ["Numeric"],ModuleName ["Prelude"],ModuleName ["System","Console","GetOpt"],ModuleName ["System","CPUTime"],ModuleName ["System","Environment"],ModuleName ["System","Exit"],ModuleName ["System","IO"],ModuleName ["System","IO","Error"],ModuleName ["System","IO","Unsafe"],ModuleName ["System","Info"],ModuleName ["System","Mem"],ModuleName ["System","Mem","StableName"],ModuleName ["System","Mem","Weak"],ModuleName ["System","Posix","Internals"],ModuleName ["System","Posix","Types"],ModuleName ["Text","ParserCombinators","ReadP"],ModuleName ["Text","ParserCombinators","ReadPrec"],ModuleName ["Text","Printf"],ModuleName ["Text","Read"],ModuleName ["Text","Read","Lex"],ModuleName ["Text","Show"],ModuleName ["Text","Show","Functions"],ModuleName ["Unsafe","Coerce"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/base-4.2.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/base-4.2.0.2"], hsLibraries = ["HSbase-4.2.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/base-4.2.0.2/include"], includes = ["HsBase.h"], depends = [InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11",InstalledPackageId "integer-gmp-0.2.0.1-72436e28c79d056c87cc0d2d2f9f3773",InstalledPackageId "builtin_rts"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/base-4.2.0.2/base.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/base-4.2.0.2"]}])]),(PackageName "ffi",fromList [(Version {versionBranch = [1,0], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "builtin_ffi", sourcePackageId = PackageIdentifier {pkgName = PackageName "ffi", pkgVersion = Version {versionBranch = [1,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "glasgow-haskell-users@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "", category = "", exposed = True, exposedModules = [], hiddenModules = [], importDirs = [], libraryDirs = ["/usr/lib/ghc-6.12.3"], hsLibraries = ["HSffi"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/include"], includes = [], depends = [], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = [], haddockHTMLs = []}])]),(PackageName "ghc-prim",fromList [(Version {versionBranch = [0,2,0,0], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11", sourcePackageId = PackageIdentifier {pkgName = PackageName "ghc-prim", pkgVersion = Version {versionBranch = [0,2,0,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "GHC primitives.", category = "", exposed = True, exposedModules = [ModuleName ["GHC","Prim"],ModuleName ["GHC","Bool"],ModuleName ["GHC","Debug"],ModuleName ["GHC","Generics"],ModuleName ["GHC","Ordering"],ModuleName ["GHC","PrimopWrappers"],ModuleName ["GHC","IntWord32"],ModuleName ["GHC","IntWord64"],ModuleName ["GHC","Tuple"],ModuleName ["GHC","Types"],ModuleName ["GHC","Unit"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/ghc-prim-0.2.0.0"], libraryDirs = ["/usr/lib/ghc-6.12.3/ghc-prim-0.2.0.0"], hsLibraries = ["HSghc-prim-0.2.0.0"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "builtin_rts"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/ghc-prim.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0"]}])]),(PackageName "integer-gmp",fromList [(Version {versionBranch = [0,2,0,1], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "integer-gmp-0.2.0.1-72436e28c79d056c87cc0d2d2f9f3773", sourcePackageId = PackageIdentifier {pkgName = PackageName "integer-gmp", pkgVersion = Version {versionBranch = [0,2,0,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains an Integer library based on GMP.", category = "", exposed = True, exposedModules = [ModuleName ["GHC","Integer"],ModuleName ["GHC","Integer","GMP","Internals"]], hiddenModules = [ModuleName ["GHC","Integer","Type"]], importDirs = ["/usr/lib/ghc-6.12.3/integer-gmp-0.2.0.1"], libraryDirs = ["/usr/lib/ghc-6.12.3/integer-gmp-0.2.0.1"], hsLibraries = ["HSinteger-gmp-0.2.0.1"], extraLibraries = ["gmp"], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/integer-gmp-0.2.0.1/integer-gmp.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/integer-gmp-0.2.0.1"]}])]),(PackageName "rts",fromList [(Version {versionBranch = [1,0], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "builtin_rts", sourcePackageId = PackageIdentifier {pkgName = PackageName "rts", pkgVersion = Version {versionBranch = [1,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "glasgow-haskell-users@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "", category = "", exposed = True, exposedModules = [], hiddenModules = [], importDirs = [], libraryDirs = ["/usr/lib/ghc-6.12.3"], hsLibraries = ["HSrts"], extraLibraries = ["m","rt","dl"], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/include"], includes = ["Stg.h"], depends = [InstalledPackageId "builtin_ffi"], hugsOptions = [], ccOptions = [], ldOptions = ["-u","ghczmprim_GHCziTypes_Izh_static_info","-u","ghczmprim_GHCziTypes_Czh_static_info","-u","ghczmprim_GHCziTypes_Fzh_static_info","-u","ghczmprim_GHCziTypes_Dzh_static_info","-u","base_GHCziPtr_Ptr_static_info","-u","base_GHCziWord_Wzh_static_info","-u","base_GHCziInt_I8zh_static_info","-u","base_GHCziInt_I16zh_static_info","-u","base_GHCziInt_I32zh_static_info","-u","base_GHCziInt_I64zh_static_info","-u","base_GHCziWord_W8zh_static_info","-u","base_GHCziWord_W16zh_static_info","-u","base_GHCziWord_W32zh_static_info","-u","base_GHCziWord_W64zh_static_info","-u","base_GHCziStable_StablePtr_static_info","-u","ghczmprim_GHCziTypes_Izh_con_info","-u","ghczmprim_GHCziTypes_Czh_con_info","-u","ghczmprim_GHCziTypes_Fzh_con_info","-u","ghczmprim_GHCziTypes_Dzh_con_info","-u","base_GHCziPtr_Ptr_con_info","-u","base_GHCziPtr_FunPtr_con_info","-u","base_GHCziStable_StablePtr_con_info","-u","ghczmprim_GHCziBool_False_closure","-u","ghczmprim_GHCziBool_True_closure","-u","base_GHCziPack_unpackCString_closure","-u","base_GHCziIOziException_stackOverflow_closure","-u","base_GHCziIOziException_heapOverflow_closure","-u","base_ControlziExceptionziBase_nonTermination_closure","-u","base_GHCziIOziException_blockedIndefinitelyOnMVar_closure","-u","base_GHCziIOziException_blockedIndefinitelyOnSTM_closure","-u","base_ControlziExceptionziBase_nestedAtomically_closure","-u","base_GHCziWeak_runFinalizzerBatch_closure","-u","base_GHCziTopHandler_runIO_closure","-u","base_GHCziTopHandler_runNonIO_closure","-u","base_GHCziConc_ensureIOManagerIsRunning_closure","-u","base_GHCziConc_runSparks_closure","-u","base_GHCziConc_runHandlers_closure"], frameworkDirs = [], frameworks = [], haddockInterfaces = [], haddockHTMLs = []}])]),(PackageName "syb",fromList [(Version {versionBranch = [0,1,0,2], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "syb-0.1.0.2-0917873f366b0be90a48082271223b4e", sourcePackageId = PackageIdentifier {pkgName = PackageName "syb", pkgVersion = Version {versionBranch = [0,1,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains the generics system described in the\n/Scrap Your Boilerplate/ papers (see <http://www.cs.vu.nl/boilerplate/>).\nIt defines the @Data@ class of types permitting folding and unfolding\nof constructor applications, instances of this class for primitive\ntypes, and a variety of traversals.", category = "", exposed = True, exposedModules = [ModuleName ["Data","Generics"],ModuleName ["Data","Generics","Aliases"],ModuleName ["Data","Generics","Basics"],ModuleName ["Data","Generics","Instances"],ModuleName ["Data","Generics","Schemes"],ModuleName ["Data","Generics","Text"],ModuleName ["Data","Generics","Twins"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/syb-0.1.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/syb-0.1.0.2"], hsLibraries = ["HSsyb-0.1.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/syb-0.1.0.2/syb.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/syb-0.1.0.2"]}])])]), pkgDescrFile = Just "./noHsSource.cabal", localPkgDescr = PackageDescription {package = PackageIdentifier {pkgName = PackageName "noHsSource", pkgVersion = Version {versionBranch = [0,0,1], versionTags = []}}, license = AllRightsReserved, licenseFile = "", copyright = "", maintainer = "", author = "", stability = "", testedWith = [], homepage = "", pkgUrl = "", bugReports = "", sourceRepos = [], synopsis = "", description = "", category = "", customFieldsPD = [], buildDepends = [Dependency (PackageName "base") (IntersectVersionRanges (UnionVersionRanges (ThisVersion (Version {versionBranch = [3,0], versionTags = []})) (LaterVersion (Version {versionBranch = [3,0], versionTags = []}))) (ThisVersion (Version {versionBranch = [3,0,3,2], versionTags = []})))], descCabalVersion = UnionVersionRanges (ThisVersion (Version {versionBranch = [1,8], versionTags = []})) (LaterVersion (Version {versionBranch = [1,8], versionTags = []})), buildType = Just Simple, library = Nothing, executables = [Executable {exeName = "noHsSource", modulePath = "noHsSource.hs", buildInfo = BuildInfo {buildable = True, buildTools = [], cppOptions = [], ccOptions = [], ldOptions = [], pkgconfigDepends = [], frameworks = [], cSources = [], hsSourceDirs = ["."], otherModules = [], extensions = [], extraLibs = [], extraLibDirs = [], includeDirs = [], includes = [], installIncludes = [], options = [], ghcProfOptions = [], ghcSharedOptions = [], customFieldsBI = [], targetBuildDepends = [Dependency (PackageName "base") (IntersectVersionRanges (UnionVersionRanges (ThisVersion (Version {versionBranch = [3,0], versionTags = []})) (LaterVersion (Version {versionBranch = [3,0], versionTags = []}))) (ThisVersion (Version {versionBranch = [3,0,3,2], versionTags = []})))]}}], dataFiles = [], dataDir = "", extraSrcFiles = [], extraTmpFiles = []}, withPrograms = [("alex",ConfiguredProgram {programId = "alex", programVersion = Just (Version {versionBranch = [2,3,3], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/local/bin/alex"}}),("ar",ConfiguredProgram {programId = "ar", programVersion = Nothing, programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/ar"}}),("c2hs",ConfiguredProgram {programId = "c2hs", programVersion = Just (Version {versionBranch = [0,16,2], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/local/bin/c2hs"}}),("cpphs",ConfiguredProgram {programId = "cpphs", programVersion = Just (Version {versionBranch = [1,11], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/cpphs"}}),("gcc",ConfiguredProgram {programId = "gcc", programVersion = Just (Version {versionBranch = [4,5,1], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/gcc"}}),("ghc",ConfiguredProgram {programId = "ghc", programVersion = Just (Version {versionBranch = [6,12,3], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/ghc"}}),("ghc-pkg",ConfiguredProgram {programId = "ghc-pkg", programVersion = Just (Version {versionBranch = [6,12,3], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/ghc-pkg"}}),("haddock",ConfiguredProgram {programId = "haddock", programVersion = Just (Version {versionBranch = [2,6,1], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/haddock"}}),("happy",ConfiguredProgram {programId = "happy", programVersion = Just (Version {versionBranch = [1,18,5], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/happy"}}),("hsc2hs",ConfiguredProgram {programId = "hsc2hs", programVersion = Just (Version {versionBranch = [0,67], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/hsc2hs"}}),("hscolour",ConfiguredProgram {programId = "hscolour", programVersion = Just (Version {versionBranch = [1,16], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/HsColour"}}),("ld",ConfiguredProgram {programId = "ld", programVersion = Nothing, programArgs = ["-x"], programLocation = FoundOnSystem {locationPath = "/usr/bin/ld"}}),("pkg-config",ConfiguredProgram {programId = "pkg-config", programVersion = Just (Version {versionBranch = [0,25], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/pkg-config"}}),("ranlib",ConfiguredProgram {programId = "ranlib", programVersion = Nothing, programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/ranlib"}}),("strip",ConfiguredProgram {programId = "strip", programVersion = Nothing, programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/strip"}}),("tar",ConfiguredProgram {programId = "tar", programVersion = Nothing, programArgs = [], programLocation = FoundOnSystem {locationPath = "/bin/tar"}})], withPackageDB = [GlobalPackageDB,UserPackageDB], withVanillaLib = True, withProfLib = False, withSharedLib = False, withProfExe = False, withOptimization = NormalOptimisation, withGHCiLib = True, splitObjs = False, stripExes = True, progPrefix = "", progSuffix = ""}
− testsuite/tests/resources/noSourceConfig/noHsSource.cabal
@@ -1,9 +0,0 @@-Name:                   noHsSource-Version:                0.0.1-cabal-version: >= 1.8-build-type: Simple--Executable noHsSource-        Main-Is:        noHsSource.hs-        build-depends: base >= 3.0-
− testsuite/tests/resources/noSourceConfig/noHsSource.hs
@@ -1,4 +0,0 @@-module Main- where-main = undefined-