diff options
authorborsboom <>2018-12-02 19:31:00 (GMT)
committerhdiff <>2018-12-02 19:31:00 (GMT)
commitdb5f9bb087991de707e51bf62647e6996513f8e4 (patch)
parent5ac01754796d3187afaf90a410ddf96968318963 (diff)
-rw-r--r--src/test/Stack/Untar/test1.tar.gzbin0 -> 273 bytes
-rw-r--r--src/test/Stack/Untar/test2.tar.gzbin0 -> 367 bytes
13 files changed, 1294 insertions, 29 deletions
diff --git a/ b/
index 53af9e5..3bf9deb 100644
--- a/
+++ b/
@@ -1,6 +1,19 @@
# Changelog
+## v1.9.3
+Bug fixes:
+* Stack can now be compiled again inside a directory that does not
+ contain a `.git` directory, see
+ [#4364](
+* Handle a change in GHC's hi-dump format around `addDependentFile`,
+ which now includes a hash. See
+ [yesodweb/yesod#1551](
+* Allow variables to appear in template file names.
## v1.9.1.1
Hackage-only release with no user facing changes.
@@ -63,7 +76,7 @@ Behavior changes:
* In case there is a network connectivity issue while trying to
download a template, stack will check whether that template had
been downloaded before. In that case, the cached version will be
- used. See [#3850](
+ used. See [#3850](
Other enhancements:
@@ -140,7 +153,7 @@ Bug fixes:
* `stack build` now succeeds in building packages which contain sublibraries
which are dependencies of executables, tests or benchmarks but not of the
main library. See
- [#3787](
+ [#3787](
* Sublibraries are now properly considered for coverage reports when the test
suite depends on the internal library. Before, stack was erroring when
trying to generate the coverage report, see
@@ -150,10 +163,10 @@ Bug fixes:
was a package with a sublibrary in the snapshot resulted in broken builds.
This is now fixed, see
-* [#4114] Stack pretty prints error messages with proper `error` logging
+* [#4114]( Stack pretty prints error messages with proper `error` logging
level instead of `warning` now. This also fixes self-executing scripts
not piping plan construction errors from runhaskell to terminal (issue
- #3942).
+ [#3942](
* Fix invalid "While building Setup.hs" when Cabal calls fail. See:
* `stack upload` signs the package by default, as documented. `--no-signature`
diff --git a/doc/ b/doc/
index 53af9e5..3bf9deb 100644
--- a/doc/
+++ b/doc/
@@ -1,6 +1,19 @@
# Changelog
+## v1.9.3
+Bug fixes:
+* Stack can now be compiled again inside a directory that does not
+ contain a `.git` directory, see
+ [#4364](
+* Handle a change in GHC's hi-dump format around `addDependentFile`,
+ which now includes a hash. See
+ [yesodweb/yesod#1551](
+* Allow variables to appear in template file names.
## v1.9.1.1
Hackage-only release with no user facing changes.
@@ -63,7 +76,7 @@ Behavior changes:
* In case there is a network connectivity issue while trying to
download a template, stack will check whether that template had
been downloaded before. In that case, the cached version will be
- used. See [#3850](
+ used. See [#3850](
Other enhancements:
@@ -140,7 +153,7 @@ Bug fixes:
* `stack build` now succeeds in building packages which contain sublibraries
which are dependencies of executables, tests or benchmarks but not of the
main library. See
- [#3787](
+ [#3787](
* Sublibraries are now properly considered for coverage reports when the test
suite depends on the internal library. Before, stack was erroring when
trying to generate the coverage report, see
@@ -150,10 +163,10 @@ Bug fixes:
was a package with a sublibrary in the snapshot resulted in broken builds.
This is now fixed, see
-* [#4114] Stack pretty prints error messages with proper `error` logging
+* [#4114]( Stack pretty prints error messages with proper `error` logging
level instead of `warning` now. This also fixes self-executing scripts
not piping plan construction errors from runhaskell to terminal (issue
- #3942).
+ [#3942](
* Fix invalid "While building Setup.hs" when Cabal calls fail. See:
* `stack upload` signs the package by default, as documented. `--no-signature`
diff --git a/doc/ b/doc/
index 2d4cb43..4e06975 100644
--- a/doc/
+++ b/doc/
@@ -427,7 +427,7 @@ With that out of the way, let's dig a little bit more into these package sets,
also known as *snapshots*. We mentioned the LTS resolvers, and you can get quite a bit of
information about it at [](, including:
-* The appropriate resolver value (`resolver: lts-11.19`, as is currently the latest LTS)
+* The appropriate resolver value (`resolver: lts-11.22`, as is currently the latest LTS)
* The GHC version used
* A full list of all packages available in this snapshot
* The ability to perform a Hoogle search on the packages in this snapshot
@@ -444,7 +444,7 @@ default as well).
## Resolvers and changing your compiler version
-Let's explore package sets a bit further. Instead of lts-11.19, let's change our
+Let's explore package sets a bit further. Instead of lts-11.22, let's change our
`stack.yaml` file to use [the latest nightly]( Right now,
this is currently 2018-07-25 - please see the resolve from the link above to get the latest.
@@ -460,8 +460,8 @@ We can also change resolvers on the command line, which can be useful in a
Continuous Integration (CI) setting, like on Travis. For example:
-michael@d30748af6d3d:~/helloworld$ stack --resolver lts-11.19 build
-Downloaded lts-11.19 build plan.
+michael@d30748af6d3d:~/helloworld$ stack --resolver lts-11.22 build
+Downloaded lts-11.22 build plan.
# build output ...
diff --git a/doc/ b/doc/
index 92674d1..480f32e 100644
--- a/doc/
+++ b/doc/
@@ -526,3 +526,32 @@ Yes:
* If a package directory contains an Hpack `package.yaml` file, then Stack will use it to generate a `.cabal` file when building the package.
* You can run `stack init` to initialize a `stack.yaml` file regardless of whether your packages are declared with `.cabal` files or with Hpack `package.yaml` files.
* You can use the `with-hpack` configuration option to specify an Hpack executable to use instead of the Hpack bundled with Stack.
+## How do I resolve linker errors when running `stack setup` or `stack build` on macOS?
+This is likely to be caused by having a LLVM installation and default Apple
+Clang compiler both under the `PATH`. The symptom of this issue is a linker
+error "bad relocation (Invalid pointer diff)". The compiler picks up
+inconsistent versions of binaries and the mysterious error occurs.
+The workaround is to remove LLVM binaries from the `PATH`.
+## How do I suppress `'-nopie'` warnings with `stack build` on macOS?
+clang: warning: argument unused during compilation: '-nopie'
+ [-Wunused-command-line-argument]
+This warning is shown when compiler support of `-no-pie` is expected but unavailable.
+It's possible to bypass the warning for a specific version of GHC by modifying a global setting:
+# ~/.stack/programs/x86_64-osx/ghc-8.2.2/lib/ghc-8.2.2/settings
+-- ("C compiler supports -no-pie", "YES"),
+++ ("C compiler supports -no-pie", "NO"),
+**Note that we're fixing `ghc-8.2.2` in this case; repeat for other versions as necessary.** You should apply this fix for the version of GHC that matches your resolver.
+Issue [#4009]( on GitHub goes into further detail.
diff --git a/doc/ b/doc/
index 40d364a..b88a4f5 100644
--- a/doc/
+++ b/doc/
@@ -51,9 +51,7 @@ starting" warning when you try to run the installer. If so, click on
## macOS
-We generally test on the current version of macOS, but Stack is known to work
-on Sierra, El Capitan, Yosemite and Mavericks as well, and may also work on older
-versions (YMMV).
+We generally test on the current version of macOS and do our best to keep it compatible with the three most recent major versions. Stack may also work on older versions (YMMV).
### Installer script
@@ -309,6 +307,38 @@ To get tab-completion of commands on bash, just run the following (or add it to
For more information and other shells, see [the shell auto-completion page](
+## China-based users
+If you're attempting to install stack from within China:
+* As of 2018-10-24, the download link has limited connectivity from within mainland China. If this is the case, please proceed by manually downloading (ideally via a VPN) and installing stack per the instructions found on this page pertinent to your OS.
+* After install, your ~/.stack/config.yaml will need to be configured before stack can download large files consistently from within China (without reliance on a VPN). Please add the following to the bottom of the ~/.stack/config.yaml file (for Windows: use the %STACK_ROOT%\config.yaml):
+setup-info: ""
+ latest-snapshot:
+ lts-build-plans:
+ nightly-build-plans:
+ - name: Tsinghua
+ download-prefix:
+ http:
+## Using an http proxy
+To use `stack` behind a http proxy with ip address *IP* and port *PORT*, first set up an environment variable `http_proxy` and then run the stack command. _e.g._
+$ export http_proxy=IP:PORT
+$ stack install
+Note that on most operating systems, it is not mandatory for programs to follow the "system-wide" http proxy. Some programs, such as browsers, do honor this "system-wide" http proxy setting, while other programs, including bash, do not. That means configuring "http proxy setting" in your Control Panel (Windows) or System Preferences (Mac) would not result in `stack` traffic going through the proxy.
## Upgrade
There are essentially four different approaches to upgrade:
diff --git a/src/Stack/New.hs b/src/Stack/New.hs
index 99b4631..158de7e 100644
--- a/src/Stack/New.hs
+++ b/src/Stack/New.hs
@@ -245,8 +245,12 @@ applyTemplate project template nonceParams dir templateText = do
- (\(fp,bytes) ->
- do path <- parseRelFile fp
+ (\(fpOrig,bytes) ->
+ do -- Apply the mustache template to the filenames
+ -- as well, so that we can have file names
+ -- depend on the project name.
+ fp <- applyMustache $ TLE.encodeUtf8 $ TL.pack fpOrig
+ path <- parseRelFile $ TL.unpack $ TLE.decodeUtf8 fp
bytes' <- applyMustache bytes
return (dir </> path, bytes'))
(M.toList files))
diff --git a/src/Stack/Package.hs b/src/Stack/Package.hs
index ca404ed..d500ac7 100644
--- a/src/Stack/Package.hs
+++ b/src/Stack/Package.hs
@@ -1245,11 +1245,13 @@ parseDumpHI dumpHIPath = do
thDeps =
-- The dependent file path is surrounded by quotes but is not escaped.
-- It can be an absolute or relative path.
- mapMaybe
- (fmap TL.unpack .
- (TL.stripSuffix "\"" <=< TL.stripPrefix "\"") .
- TL.dropWhileEnd (== '\r') . TLE.decodeUtf8 . CL8.dropWhile (/= '"')) $
- filter ("addDependentFile \"" `CL8.isPrefixOf`) dumpHI
+ TL.unpack .
+ -- Starting with GHC 8.4.3, there's a hash following
+ -- the path. See
+ --
+ TLE.decodeUtf8 .
+ CL8.takeWhile (/= '\"') <$>
+ mapMaybe (CL8.stripPrefix "addDependentFile \"") dumpHI
thDepsResolved <- liftM catMaybes $ forM thDeps $ \x -> do
mresolved <- liftIO (forgivingAbsence (resolveFile dir x)) >>= rejectMissingFile
when (isNothing mresolved) $
diff --git a/src/test/Stack/Untar/test1.tar.gz b/src/test/Stack/Untar/test1.tar.gz
new file mode 100644
index 0000000..17993d2
--- /dev/null
+++ b/src/test/Stack/Untar/test1.tar.gz
Binary files differ
diff --git a/src/test/Stack/Untar/test2.tar.gz b/src/test/Stack/Untar/test2.tar.gz
new file mode 100644
index 0000000..7791b75
--- /dev/null
+++ b/src/test/Stack/Untar/test2.tar.gz
Binary files differ
diff --git a/stack.cabal b/stack.cabal
index 356fe0a..93225d4 100644
--- a/stack.cabal
+++ b/stack.cabal
@@ -1,13 +1,13 @@
cabal-version: 1.24
--- This file has been generated from package.yaml by hpack version 0.31.0.
+-- This file has been generated from package.yaml by hpack version 0.31.1.
-- see:
--- hash: 5391b945e4e909f5af3e31d85837dc4605515eb0ed4ae9460c773a8a8eb4b999
+-- hash: b40833306dc6ec7b07b3ce20272099a90da724ad96f3e7b8c4565d91e4e4615f
name: stack
+version: 1.9.3
synopsis: The Haskell Tool Stack
description: Please see the for usage information, and the wiki on Github for more details. Also, note that the API for the library is not currently stable, and may change significantly, even between minor releases. It is currently only intended for use by the executable.
category: Development
@@ -48,6 +48,9 @@ extra-source-files:
+ test/package-dump/ghc-head.txt
+ src/test/Stack/Untar/test1.tar.gz
+ src/test/Stack/Untar/test2.tar.gz
source-repository head
type: git
diff --git a/stack.yaml b/stack.yaml
index 0882431..d891907 100644
--- a/stack.yaml
+++ b/stack.yaml
@@ -19,11 +19,11 @@ flags:
- Cabal-
- cabal-install-
-- resolv-
+- resolv-
- infer-license-0.2.0@rev:0 #for hpack-0.31
-- hpack-0.31.0@rev:0
+- hpack-0.31.1@rev:0
- http-api-data-
-- githash-
+- githash-
- yaml- #for hpack-0.31
- windns-
- hackage-security-
diff --git a/test/integration/lib/StackTest.hs b/test/integration/lib/StackTest.hs
index 7711587..ae77980 100644
--- a/test/integration/lib/StackTest.hs
+++ b/test/integration/lib/StackTest.hs
@@ -125,6 +125,24 @@ stackErrStderr args check = do
then error "Stack process succeeded, but it shouldn't"
else check err
+stackStdout :: [String] -> IO (ExitCode, String)
+stackStdout args = do
+ stackExe' <- stackExe
+ logInfo $ "Running: " ++ stackExe' ++ " " ++ unwords (map showProcessArgDebug args)
+ (ec, out, err) <- readProcessWithExitCode stackExe' args ""
+ putStr out
+ hPutStr stderr err
+ return (ec, out)
+-- | Run stack with arguments and apply a check to the resulting
+-- stdout output if the process succeeded.
+stackCheckStdout :: [String] -> (String -> IO ()) -> IO ()
+stackCheckStdout args check = do
+ (ec, out) <- stackStdout args
+ if ec /= ExitSuccess
+ then error $ "Exited with exit code: " ++ show ec
+ else check out
doesNotExist :: FilePath -> IO ()
doesNotExist fp = do
logInfo $ "doesNotExist " ++ fp
@@ -208,7 +226,7 @@ isMacOSX = os == "darwin"
-- the main @stack.yaml@.
defaultResolverArg :: String
-defaultResolverArg = "--resolver=lts-11.19"
+defaultResolverArg = "--resolver=lts-11.22"
-- | Remove a file and ignore any warnings about missing files.
removeFileIgnore :: FilePath -> IO ()
@@ -216,3 +234,10 @@ removeFileIgnore fp = removeFile fp `catch` \e ->
if isDoesNotExistError e
then return ()
else throwIO e
+-- | Remove a directory tree and ignore any warnings about missing files.
+removeDirectoryRecursiveIgnore :: FilePath -> IO ()
+removeDirectoryRecursiveIgnore fp = removeDirectoryRecursive fp `catch` \e ->
+ if isDoesNotExistError e
+ then return ()
+ else throwIO e
diff --git a/test/package-dump/ghc-head.txt b/test/package-dump/ghc-head.txt
new file mode 100644
index 0000000..37521e7
--- /dev/null
+++ b/test/package-dump/ghc-head.txt
@@ -0,0 +1,1146 @@
+name: ghc-boot
+id: ghc-boot-
+key: ghc-boot-
+license: BSD3
+synopsis: Shared functionality between GHC and its boot libraries
+ This library is shared between GHC, ghc-pkg, and other boot
+ libraries.
+ .
+ A note about "GHC.PackageDb": it only deals with the subset of
+ the package database that the compiler cares about: modules
+ paths etc and not package metadata like description, authors
+ etc. It is thus not a library interface to ghc-pkg and is *not*
+ suitable for modifying GHC package databases.
+ .
+ The package database format and this library are constructed in
+ such a way that while ghc-pkg depends on Cabal, the GHC library
+ and program do not have to depend on Cabal.
+exposed: True
+ GHC.Lexeme GHC.PackageDb
+abi: 7a24014b606b3e9dd8b7b8aa4cf35acc
+trusted: False
+import-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/ghc-boot-
+library-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/ghc-boot-
+data-dir: /opt/ghc/head/share/x86_64-linux-ghc-7.11.20151213/ghc-boot-
+hs-libraries: HSghc-boot-
+ base- binary- bytestring- directory-
+ filepath-
+haddock-interfaces: /opt/ghc/head/share/doc/ghc/html/libraries/ghc-boot-
+haddock-html: /opt/ghc/head/share/doc/ghc/html/libraries/ghc-boot-
+name: ghc
+version: 7.11.20151213
+id: ghc-7.11.20151213
+key: ghc-7.11.20151213
+license: BSD3
+synopsis: The GHC API
+ GHC's functionality can be useful for more things than just
+ compiling Haskell programs. Important use cases are programs
+ that analyse (and perhaps transform) Haskell code. Others
+ include loading Haskell code dynamically in a GHCi-like manner.
+ For this reason, a lot of GHC's functionality is made available
+ through this package.
+category: Development
+author: The GHC Team
+exposed: False
+ Avail BasicTypes ConLike DataCon PatSyn Demand Debug Exception
+ FieldLabel GhcMonad Hooks Id IdInfo Lexeme Literal Llvm Llvm.AbsSyn
+ Llvm.MetaData Llvm.PpLlvm Llvm.Types LlvmCodeGen LlvmCodeGen.Base
+ LlvmCodeGen.CodeGen LlvmCodeGen.Data LlvmCodeGen.Ppr
+ LlvmCodeGen.Regs LlvmMangler MkId Module Name NameEnv NameSet
+ OccName RdrName SrcLoc UniqSupply Unique Var VarEnv VarSet
+ UnVarGraph BlockId CLabel Cmm CmmBuildInfoTables CmmPipeline
+ CmmCallConv CmmCommonBlockElim CmmImplementSwitchPlans
+ CmmContFlowOpt CmmExpr CmmInfo CmmLex CmmLint CmmLive CmmMachOp
+ CmmSwitch CmmNode CmmOpt CmmParse CmmProcPoint CmmSink CmmType
+ CmmUtils CmmLayoutStack MkGraph PprBase PprC PprCmm PprCmmDecl
+ PprCmmExpr Bitmap CodeGen.Platform CodeGen.Platform.ARM
+ CodeGen.Platform.ARM64 CodeGen.Platform.NoRegs CodeGen.Platform.PPC
+ CodeGen.Platform.PPC_Darwin CodeGen.Platform.SPARC
+ CodeGen.Platform.X86 CodeGen.Platform.X86_64 CgUtils StgCmm
+ StgCmmBind StgCmmClosure StgCmmCon StgCmmEnv StgCmmExpr
+ StgCmmForeign StgCmmHeap StgCmmHpc StgCmmArgRep StgCmmLayout
+ StgCmmMonad StgCmmPrim StgCmmProf StgCmmTicky StgCmmUtils
+ StgCmmExtCode SMRep CoreArity CoreFVs CoreLint CorePrep CoreSubst
+ CoreSyn TrieMap CoreTidy CoreUnfold CoreUtils CoreSeq CoreStats
+ MkCore PprCore PmExpr TmOracle Check Coverage Desugar DsArrows
+ DsBinds DsCCall DsExpr DsForeign DsGRHSs DsListComp DsMonad DsUtils
+ Match MatchCon MatchLit HsBinds HsDecls HsDoc HsExpr HsImpExp HsLit
+ PlaceHolder HsPat HsSyn HsTypes HsUtils BinIface BuildTyCl IfaceEnv
+ IfaceSyn IfaceType LoadIface MkIface TcIface FlagChecker
+ Annotations BreakArray CmdLineParser CodeOutput Config Constants
+ DriverMkDepend DriverPhases PipelineMonad DriverPipeline DynFlags
+ ErrUtils Finder GHC GhcMake GhcPlugins DynamicLoading HeaderInfo
+ HscMain HscStats HscTypes InteractiveEval InteractiveEvalTypes
+ PackageConfig Packages PlatformConstants Plugins TcPluginM
+ PprTyThing StaticFlags StaticPtrTable SysTools Elf TidyPgm Ctype
+ HaddockUtils Lexer OptCoercion Parser RdrHsSyn ApiAnnotation
+ ForeignCall PrelInfo PrelNames PrelRules PrimOp TysPrim TysWiredIn
+ CostCentre ProfInit SCCfinal RnBinds RnEnv RnExpr RnHsDoc RnNames
+ RnPat RnSource RnSplice RnTypes CoreMonad CSE FloatIn FloatOut
+ LiberateCase OccurAnal SAT SetLevels SimplCore SimplEnv SimplMonad
+ SimplUtils Simplify SimplStg StgStats UnariseStg Rules SpecConstr
+ Specialise CoreToStg StgLint StgSyn CallArity DmdAnal WorkWrap
+ WwLib FamInst Inst TcAnnotations TcArrows TcBinds TcClassDcl
+ TcDefaults TcDeriv TcEnv TcExpr TcForeign TcGenDeriv TcGenGenerics
+ TcHsSyn TcHsType TcInstDcls TcMType TcValidity TcMatches TcPat
+ TcPatSyn TcRnDriver TcRnMonad TcRnTypes TcRules TcSimplify TcErrors
+ TcTyClsDecls TcTyDecls TcTypeable TcType TcEvidence TcUnify
+ TcInteract TcCanonical TcFlatten TcSMonad TcTypeNats TcSplice Class
+ Coercion DsMeta THNames FamInstEnv FunDeps InstEnv TyCon CoAxiom
+ Kind Type TyCoRep Unify Bag Binary BooleanFormula BufWrite Digraph
+ Encoding FastFunctions FastMutInt FastString FastStringEnv
+ Fingerprint FiniteMap FV GraphBase GraphColor GraphOps GraphPpr
+ IOEnv ListSetOps Maybes MonadUtils OrdList Outputable Pair Panic
+ Pretty Serialized State Stream StringBuffer UniqDFM UniqDSet UniqFM
+ UniqSet Util Vectorise.Builtins.Base Vectorise.Builtins.Initialise
+ Vectorise.Builtins Vectorise.Monad.Base Vectorise.Monad.Naming
+ Vectorise.Monad.Local Vectorise.Monad.Global
+ Vectorise.Monad.InstEnv Vectorise.Monad Vectorise.Utils.Base
+ Vectorise.Utils.Closure Vectorise.Utils.Hoisting
+ Vectorise.Utils.PADict Vectorise.Utils.Poly Vectorise.Utils
+ Vectorise.Generic.Description Vectorise.Generic.PAMethods
+ Vectorise.Generic.PADict Vectorise.Generic.PData Vectorise.Type.Env
+ Vectorise.Type.Type Vectorise.Type.TyConDecl
+ Vectorise.Type.Classify Vectorise.Convert Vectorise.Vect
+ Vectorise.Var Vectorise.Env Vectorise.Exp Vectorise Hoopl.Dataflow
+ Hoopl AsmCodeGen TargetReg NCGMonad Instruction Format Reg RegClass
+ PIC Platform CPrim X86.Regs X86.RegInfo X86.Instr X86.Cond X86.Ppr
+ X86.CodeGen PPC.Regs PPC.RegInfo PPC.Instr PPC.Cond PPC.Ppr
+ PPC.CodeGen SPARC.Base SPARC.Regs SPARC.Imm SPARC.AddrMode
+ SPARC.Cond SPARC.Instr SPARC.Stack SPARC.ShortcutJump SPARC.Ppr
+ SPARC.CodeGen SPARC.CodeGen.Amode SPARC.CodeGen.Base
+ SPARC.CodeGen.CondCode SPARC.CodeGen.Gen32 SPARC.CodeGen.Gen64
+ SPARC.CodeGen.Sanity SPARC.CodeGen.Expand RegAlloc.Liveness
+ RegAlloc.Graph.Main RegAlloc.Graph.Stats RegAlloc.Graph.ArchBase
+ RegAlloc.Graph.ArchX86 RegAlloc.Graph.Coalesce RegAlloc.Graph.Spill
+ RegAlloc.Graph.SpillClean RegAlloc.Graph.SpillCost
+ RegAlloc.Graph.TrivColorable RegAlloc.Linear.Main
+ RegAlloc.Linear.JoinToTargets RegAlloc.Linear.State
+ RegAlloc.Linear.Stats RegAlloc.Linear.FreeRegs
+ RegAlloc.Linear.StackMap RegAlloc.Linear.Base
+ RegAlloc.Linear.X86.FreeRegs RegAlloc.Linear.X86_64.FreeRegs
+ RegAlloc.Linear.PPC.FreeRegs RegAlloc.Linear.SPARC.FreeRegs Dwarf
+ Dwarf.Types Dwarf.Constants Convert ByteCodeAsm ByteCodeGen
+ ByteCodeInstr ByteCodeItbls ByteCodeLink Debugger LibFFI Linker
+ ObjLink RtClosureInspect DebuggerUtils
+abi: bc2e1cb7cdee2089e52f007db59a253c
+trusted: False
+import-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/ghc-7.11.20151213
+library-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/ghc-7.11.20151213
+data-dir: /opt/ghc/head/share/x86_64-linux-ghc-7.11.20151213/ghc-7.11.20151213
+hs-libraries: HSghc-7.11.20151213
+include-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/ghc-7.11.20151213/include
+ array- base- binary- bytestring-
+ containers- directory- filepath-
+ ghc-boot- hoopl- hpc- process-
+ template-haskell- time- transformers-
+ unix-
+haddock-interfaces: /opt/ghc/head/share/doc/ghc/html/libraries/ghc-7.11.20151213/ghc.haddock
+haddock-html: /opt/ghc/head/share/doc/ghc/html/libraries/ghc-7.11.20151213
+name: haskeline
+id: haskeline-
+key: haskeline-
+license: BSD3
+copyright: (c) Judah Jacobson
+maintainer: Judah Jacobson <>
+stability: Experimental
+synopsis: A command-line interface for user input, written in Haskell.
+ Haskeline provides a user interface for line input in command-line
+ programs. This library is similar in purpose to readline, but since
+ it is written in Haskell it is (hopefully) more easily used in other
+ Haskell programs.
+ .
+ Haskeline runs both on POSIX-compatible systems and on Windows.
+category: User Interfaces
+author: Judah Jacobson
+exposed: True
+ System.Console.Haskeline System.Console.Haskeline.Completion
+ System.Console.Haskeline.MonadException
+ System.Console.Haskeline.History System.Console.Haskeline.IO
+hidden-modules: System.Console.Haskeline.Backend
+ System.Console.Haskeline.Backend.WCWidth
+ System.Console.Haskeline.Command
+ System.Console.Haskeline.Command.Completion
+ System.Console.Haskeline.Command.History
+ System.Console.Haskeline.Command.KillRing
+ System.Console.Haskeline.Directory System.Console.Haskeline.Emacs
+ System.Console.Haskeline.InputT System.Console.Haskeline.Key
+ System.Console.Haskeline.LineState System.Console.Haskeline.Monads
+ System.Console.Haskeline.Prefs System.Console.Haskeline.RunCommand
+ System.Console.Haskeline.Term System.Console.Haskeline.Command.Undo
+ System.Console.Haskeline.Vi System.Console.Haskeline.Recover
+ System.Console.Haskeline.Backend.Posix
+ System.Console.Haskeline.Backend.Posix.Encoder
+ System.Console.Haskeline.Backend.DumbTerm
+ System.Console.Haskeline.Backend.Terminfo
+abi: 1084385e878ca046b1ba1b0149406b60
+trusted: False
+import-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/haskeline-
+library-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/haskeline-
+data-dir: /opt/ghc/head/share/x86_64-linux-ghc-7.11.20151213/haskeline-
+hs-libraries: HShaskeline-
+ base- bytestring- containers-
+ directory- filepath- terminfo-
+ transformers- unix-
+haddock-interfaces: /opt/ghc/head/share/doc/ghc/html/libraries/haskeline-
+haddock-html: /opt/ghc/head/share/doc/ghc/html/libraries/haskeline-
+name: terminfo
+id: terminfo-
+key: terminfo-
+license: BSD3
+copyright: (c) Judah Jacobson
+maintainer: Judah Jacobson <>
+stability: Stable
+synopsis: Haskell bindings to the terminfo library.
+ This library provides an interface to the terminfo database (via bindings to the
+ curses library). < Terminfo> allows POSIX
+ systems to interact with a variety of terminals using a standard set of capabilities.
+category: User Interfaces
+author: Judah Jacobson
+exposed: True
+ System.Console.Terminfo System.Console.Terminfo.Base
+ System.Console.Terminfo.Cursor System.Console.Terminfo.Color
+ System.Console.Terminfo.Edit System.Console.Terminfo.Effects
+ System.Console.Terminfo.Keys
+abi: d0bd235d4bbae7f2cbb36b97e6bcfba9
+trusted: False
+import-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/terminfo-
+library-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/terminfo-
+data-dir: /opt/ghc/head/share/x86_64-linux-ghc-7.11.20151213/terminfo-
+hs-libraries: HSterminfo-
+ tinfo
+ ncurses.h term.h
+ base-
+haddock-interfaces: /opt/ghc/head/share/doc/ghc/html/libraries/terminfo-
+haddock-html: /opt/ghc/head/share/doc/ghc/html/libraries/terminfo-
+name: xhtml
+version: 3000.2.1
+id: xhtml-3000.2.1
+key: xhtml-3000.2.1
+license: BSD3
+copyright: Bjorn Bringert 2004-2006, Andy Gill and the Oregon
+ Graduate Institute of Science and Technology, 1999-2001
+maintainer: Chris Dornan <>
+stability: Stable
+synopsis: An XHTML combinator library
+ This package provides combinators for producing
+ XHTML 1.0, including the Strict, Transitional and
+ Frameset variants.
+category: Web, XML, Pretty Printer
+author: Bjorn Bringert
+exposed: True
+ Text.XHtml Text.XHtml.Frameset Text.XHtml.Strict
+ Text.XHtml.Transitional Text.XHtml.Debug Text.XHtml.Table
+hidden-modules: Text.XHtml.Strict.Attributes
+ Text.XHtml.Strict.Elements Text.XHtml.Frameset.Attributes
+ Text.XHtml.Frameset.Elements Text.XHtml.Transitional.Attributes
+ Text.XHtml.Transitional.Elements Text.XHtml.BlockTable
+ Text.XHtml.Extras Text.XHtml.Internals
+abi: 932c4b6847d698115f4ad73b10e56807
+trusted: False
+import-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/xhtml-3000.2.1
+library-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/xhtml-3000.2.1
+data-dir: /opt/ghc/head/share/x86_64-linux-ghc-7.11.20151213/xhtml-3000.2.1
+hs-libraries: HSxhtml-3000.2.1
+ base-
+haddock-interfaces: /opt/ghc/head/share/doc/ghc/html/libraries/xhtml-3000.2.1/xhtml.haddock
+haddock-html: /opt/ghc/head/share/doc/ghc/html/libraries/xhtml-3000.2.1
+name: transformers
+id: transformers-
+key: transformers-
+license: BSD3
+maintainer: Ross Paterson <>
+synopsis: Concrete functor and monad transformers
+ A portable library of functor and monad transformers, inspired by
+ the paper \"Functional Programming with Overloading and Higher-Order
+ Polymorphism\", by Mark P Jones,
+ in /Advanced School of Functional Programming/, 1995
+ (<>).
+ .
+ This package contains:
+ .
+ * the monad transformer class (in "Control.Monad.Trans.Class")
+ and IO monad class (in "Control.Monad.IO.Class")
+ .
+ * concrete functor and monad transformers, each with associated
+ operations and functions to lift operations associated with other
+ transformers.
+ .
+ The package can be used on its own in portable Haskell code, in
+ which case operations need to be manually lifted through transformer
+ stacks (see "Control.Monad.Trans.Class" for some examples).
+ Alternatively, it can be used with the non-portable monad classes in
+ the @mtl@ or @monads-tf@ packages, which automatically lift operations
+ introduced by monad transformers through other transformers.
+category: Control
+author: Andy Gill, Ross Paterson
+exposed: True
+ Control.Applicative.Backwards Control.Applicative.Lift
+ Control.Monad.Signatures Control.Monad.Trans.Class
+ Control.Monad.Trans.Cont Control.Monad.Trans.Except
+ Control.Monad.Trans.Error Control.Monad.Trans.Identity
+ Control.Monad.Trans.List Control.Monad.Trans.Maybe
+ Control.Monad.Trans.Reader Control.Monad.Trans.RWS
+ Control.Monad.Trans.RWS.Lazy Control.Monad.Trans.RWS.Strict
+ Control.Monad.Trans.State Control.Monad.Trans.State.Lazy
+ Control.Monad.Trans.State.Strict Control.Monad.Trans.Writer
+ Control.Monad.Trans.Writer.Lazy Control.Monad.Trans.Writer.Strict
+ Data.Functor.Classes Data.Functor.Compose Data.Functor.Constant
+ Data.Functor.Product Data.Functor.Reverse Data.Functor.Sum
+abi: d71166f18d2591685ff3ee72b17638c0
+trusted: False
+import-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/transformers-
+library-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/transformers-
+data-dir: /opt/ghc/head/share/x86_64-linux-ghc-7.11.20151213/transformers-
+hs-libraries: HStransformers-
+ base-
+haddock-interfaces: /opt/ghc/head/share/doc/ghc/html/libraries/transformers-
+haddock-html: /opt/ghc/head/share/doc/ghc/html/libraries/transformers-
+name: hoopl
+id: hoopl-
+key: hoopl-
+license: BSD3
+synopsis: A library to support dataflow analysis and optimization
+ Higher-order optimization library
+ .
+ See /Norman Ramsey, Joao Dias, and Simon Peyton Jones./
+ < "Hoopl: A Modular, Reusable Library for Dataflow Analysis and Transformation"> /(2010)/ for more details.
+category: Compilers/Interpreters
+author: Norman Ramsey, Joao Dias, Simon Marlow and Simon Peyton Jones
+exposed: True
+ Compiler.Hoopl Compiler.Hoopl.Internals Compiler.Hoopl.Wrappers
+ Compiler.Hoopl.Passes.Dominator Compiler.Hoopl.Passes.DList
+hidden-modules: Compiler.Hoopl.Checkpoint
+ Compiler.Hoopl.Collections Compiler.Hoopl.Combinators
+ Compiler.Hoopl.Dataflow Compiler.Hoopl.Debug Compiler.Hoopl.Block
+ Compiler.Hoopl.Graph Compiler.Hoopl.Label Compiler.Hoopl.MkGraph
+ Compiler.Hoopl.Fuel Compiler.Hoopl.Pointed Compiler.Hoopl.Shape
+ Compiler.Hoopl.Show Compiler.Hoopl.Unique Compiler.Hoopl.XUtil
+abi: 719b00050240e530b78b62520193b342
+trusted: False
+import-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/hoopl-
+library-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/hoopl-
+data-dir: /opt/ghc/head/share/x86_64-linux-ghc-7.11.20151213/hoopl-
+hs-libraries: HShoopl-
+ base- containers-
+haddock-interfaces: /opt/ghc/head/share/doc/ghc/html/libraries/hoopl-
+haddock-html: /opt/ghc/head/share/doc/ghc/html/libraries/hoopl-
+name: template-haskell
+id: template-haskell-
+key: template-haskell-
+license: BSD3
+synopsis: Support library for Template Haskell
+ This package provides modules containing facilities for manipulating
+ Haskell source code using Template Haskell.
+ .
+ See <> for more
+ information.
+category: Template Haskell
+exposed: True
+ Language.Haskell.TH Language.Haskell.TH.Lib Language.Haskell.TH.Ppr
+ Language.Haskell.TH.PprLib Language.Haskell.TH.Quote
+ Language.Haskell.TH.Syntax
+hidden-modules: Language.Haskell.TH.Lib.Map
+abi: 26855f7c84ab668b019a8d35abdb5276
+trusted: False
+import-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/template-haskell-
+library-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/template-haskell-
+data-dir: /opt/ghc/head/share/x86_64-linux-ghc-7.11.20151213/template-haskell-
+hs-libraries: HStemplate-haskell-
+ base- ghc-boot- pretty-
+haddock-interfaces: /opt/ghc/head/share/doc/ghc/html/libraries/template-haskell-
+haddock-html: /opt/ghc/head/share/doc/ghc/html/libraries/template-haskell-
+name: Cabal
+id: Cabal-
+key: Cabal-
+license: BSD3
+copyright: 2003-2006, Isaac Jones
+ 2005-2011, Duncan Coutts
+synopsis: A framework for packaging Haskell software
+ The Haskell Common Architecture for Building Applications and
+ Libraries: a framework defining a common interface for authors to more
+ easily build their Haskell applications in a portable way.
+ .
+ The Haskell Cabal is part of a larger infrastructure for distributing,
+ organizing, and cataloging Haskell libraries and tools.
+category: Distribution
+author: Isaac Jones <>
+ Duncan Coutts <>
+exposed: True
+ Distribution.Compat.CreatePipe Distribution.Compat.Environment
+ Distribution.Compat.Exception Distribution.Compat.Internal.TempFile
+ Distribution.Compat.ReadP Distribution.Compiler
+ Distribution.InstalledPackageInfo Distribution.License
+ Distribution.Make Distribution.ModuleName Distribution.Package
+ Distribution.PackageDescription
+ Distribution.PackageDescription.Check
+ Distribution.PackageDescription.Configuration
+ Distribution.PackageDescription.Parse
+ Distribution.PackageDescription.PrettyPrint
+ Distribution.PackageDescription.Utils Distribution.ParseUtils
+ Distribution.ReadE Distribution.Simple Distribution.Simple.Bench
+ Distribution.Simple.Build Distribution.Simple.Build.Macros
+ Distribution.Simple.Build.PathsModule
+ Distribution.Simple.BuildPaths Distribution.Simple.BuildTarget
+ Distribution.Simple.CCompiler Distribution.Simple.Command
+ Distribution.Simple.Compiler Distribution.Simple.Configure
+ Distribution.Simple.GHC Distribution.Simple.GHCJS
+ Distribution.Simple.Haddock Distribution.Simple.HaskellSuite
+ Distribution.Simple.Hpc Distribution.Simple.Install
+ Distribution.Simple.InstallDirs Distribution.Simple.JHC
+ Distribution.Simple.LHC Distribution.Simple.LocalBuildInfo
+ Distribution.Simple.PackageIndex Distribution.Simple.PreProcess
+ Distribution.Simple.PreProcess.Unlit Distribution.Simple.Program
+ Distribution.Simple.Program.Ar Distribution.Simple.Program.Builtin
+ Distribution.Simple.Program.Db Distribution.Simple.Program.Find
+ Distribution.Simple.Program.GHC Distribution.Simple.Program.HcPkg
+ Distribution.Simple.Program.Hpc
+ Distribution.Simple.Program.Internal Distribution.Simple.Program.Ld
+ Distribution.Simple.Program.Run Distribution.Simple.Program.Script
+ Distribution.Simple.Program.Strip Distribution.Simple.Program.Types
+ Distribution.Simple.Register Distribution.Simple.Setup
+ Distribution.Simple.SrcDist Distribution.Simple.Test
+ Distribution.Simple.Test.ExeV10 Distribution.Simple.Test.LibV09
+ Distribution.Simple.Test.Log Distribution.Simple.UHC
+ Distribution.Simple.UserHooks Distribution.Simple.Utils
+ Distribution.System Distribution.TestSuite Distribution.Text
+ Distribution.Utils.NubList Distribution.Verbosity
+ Distribution.Version Language.Haskell.Extension
+hidden-modules: Distribution.Compat.Binary
+ Distribution.Compat.CopyFile Distribution.GetOpt Distribution.Lex
+ Distribution.Simple.GHC.Internal Distribution.Simple.GHC.IPI641
+ Distribution.Simple.GHC.IPI642 Distribution.Simple.GHC.ImplInfo
+ Paths_Cabal
+abi: 4b55984d7d0e5898df279f52ba75702f
+trusted: False
+import-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/Cabal-
+library-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/Cabal-
+data-dir: /opt/ghc/head/share/x86_64-linux-ghc-7.11.20151213/Cabal-
+hs-libraries: HSCabal-
+ array- base- binary- bytestring-
+ containers- deepseq- directory-
+ filepath- pretty- process- time-
+ unix-
+haddock-interfaces: /opt/ghc/head/share/doc/ghc/html/libraries/Cabal-
+haddock-html: /opt/ghc/head/share/doc/ghc/html/libraries/Cabal-
+name: binary
+id: binary-
+key: binary-
+license: BSD3
+maintainer: Lennart Kolmodin, Don Stewart <>
+stability: provisional
+synopsis: Binary serialisation for Haskell values using lazy ByteStrings
+ Efficient, pure binary serialisation using lazy ByteStrings.
+ Haskell values may be encoded to and from binary formats,
+ written to disk as binary, or sent over the network.
+ The format used can be automatically generated, or
+ you can choose to implement a custom format if needed.
+ Serialisation speeds of over 1 G\/sec have been observed,
+ so this library should be suitable for high performance
+ scenarios.
+category: Data, Parsing
+author: Lennart Kolmodin <>
+exposed: True
+ Data.Binary Data.Binary.Put Data.Binary.Get
+ Data.Binary.Get.Internal Data.Binary.Builder
+ Data.Binary.Builder.Internal
+hidden-modules: Data.Binary.Builder.Base Data.Binary.Class
+ Data.Binary.Generic
+abi: 023629bb1f3d2da077b9dfaec842d5d6
+trusted: False
+import-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/binary-
+library-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/binary-
+data-dir: /opt/ghc/head/share/x86_64-linux-ghc-7.11.20151213/binary-
+hs-libraries: HSbinary-
+ array- base- bytestring- containers-
+haddock-interfaces: /opt/ghc/head/share/doc/ghc/html/libraries/binary-
+haddock-html: /opt/ghc/head/share/doc/ghc/html/libraries/binary-
+name: pretty
+id: pretty-
+key: pretty-
+license: BSD3
+maintainer: David Terei <>
+stability: Stable
+synopsis: Pretty-printing library
+ This package contains a pretty-printing library, a set of API's
+ that provides a way to easily print out text in a consistent
+ format of your choosing. This is useful for compilers and related
+ tools.
+ .
+ This library was originally designed by John Hughes's and has since
+ been heavily modified by Simon Peyton Jones.
+category: Text
+exposed: True
+ Text.PrettyPrint Text.PrettyPrint.HughesPJ
+ Text.PrettyPrint.HughesPJClass
+abi: ff204a4f63b87ec08dfb63935ab60346
+trusted: False
+import-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/pretty-
+library-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/pretty-
+data-dir: /opt/ghc/head/share/x86_64-linux-ghc-7.11.20151213/pretty-
+hs-libraries: HSpretty-
+ base- deepseq- ghc-prim-
+haddock-interfaces: /opt/ghc/head/share/doc/ghc/html/libraries/pretty-
+haddock-html: /opt/ghc/head/share/doc/ghc/html/libraries/pretty-
+name: hpc
+id: hpc-
+key: hpc-
+license: BSD3
+synopsis: Code Coverage Library for Haskell
+ This package provides the code coverage library for Haskell.
+ .
+ See <> for more
+ information.
+category: Control
+author: Andy Gill
+exposed: True
+ Trace.Hpc.Util Trace.Hpc.Mix Trace.Hpc.Tix Trace.Hpc.Reflect
+abi: b98013c17bf1741c790e3a830237e8bc
+trusted: False
+import-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/hpc-
+library-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/hpc-
+data-dir: /opt/ghc/head/share/x86_64-linux-ghc-7.11.20151213/hpc-
+hs-libraries: HShpc-
+ base- containers- directory- filepath-
+ time-
+haddock-interfaces: /opt/ghc/head/share/doc/ghc/html/libraries/hpc-
+haddock-html: /opt/ghc/head/share/doc/ghc/html/libraries/hpc-
+name: process
+id: process-
+key: process-
+license: BSD3
+synopsis: Process libraries
+ This package contains libraries for dealing with system processes.
+category: System
+exposed: True
+ System.Cmd System.Process System.Process.Internals
+hidden-modules: System.Process.Common System.Process.Posix
+abi: 483b4c1d894e8c880c567a1ee593790f
+trusted: False
+import-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/process-
+library-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/process-
+data-dir: /opt/ghc/head/share/x86_64-linux-ghc-7.11.20151213/process-
+hs-libraries: HSprocess-
+include-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/process-
+ runProcess.h
+ base- deepseq- directory- filepath-
+ unix-
+haddock-interfaces: /opt/ghc/head/share/doc/ghc/html/libraries/process-
+haddock-html: /opt/ghc/head/share/doc/ghc/html/libraries/process-
+name: directory
+id: directory-
+key: directory-
+license: BSD3
+synopsis: Platform-agnostic library for filesystem operations
+ This library provides a basic set of operations for manipulating files and
+ directories in a portable way.
+category: System
+exposed: True
+ System.Directory
+hidden-modules: System.Directory.Internal
+ System.Directory.Internal.Config
+ System.Directory.Internal.C_utimensat
+ System.Directory.Internal.Posix System.Directory.Internal.Windows
+abi: 73051d50bd0377c1f91d40ac29eafcde
+trusted: False
+import-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/directory-
+library-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/directory-
+data-dir: /opt/ghc/head/share/x86_64-linux-ghc-7.11.20151213/directory-
+hs-libraries: HSdirectory-
+include-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/directory-
+ HsDirectory.h
+ base- filepath- time- unix-
+haddock-interfaces: /opt/ghc/head/share/doc/ghc/html/libraries/directory-
+haddock-html: /opt/ghc/head/share/doc/ghc/html/libraries/directory-
+name: unix
+id: unix-
+key: unix-
+license: BSD3
+synopsis: POSIX functionality
+ This package gives you access to the set of operating system
+ services standardised by POSIX 1003.1b (or the IEEE Portable
+ Operating System Interface for Computing Environments -
+ IEEE Std. 1003.1).
+ .
+ The package is not supported under Windows (except under Cygwin).
+category: System
+exposed: True
+ System.Posix System.Posix.ByteString System.Posix.Error
+ System.Posix.Resource System.Posix.Time System.Posix.Unistd
+ System.Posix.User System.Posix.Signals System.Posix.Signals.Exts
+ System.Posix.Semaphore System.Posix.SharedMem
+ System.Posix.ByteString.FilePath System.Posix.Directory
+ System.Posix.Directory.ByteString System.Posix.DynamicLinker.Module
+ System.Posix.DynamicLinker.Module.ByteString
+ System.Posix.DynamicLinker.Prim
+ System.Posix.DynamicLinker.ByteString System.Posix.DynamicLinker
+ System.Posix.Files System.Posix.Files.ByteString System.Posix.IO
+ System.Posix.IO.ByteString System.Posix.Env
+ System.Posix.Env.ByteString System.Posix.Fcntl System.Posix.Process
+ System.Posix.Process.Internals System.Posix.Process.ByteString
+ System.Posix.Temp System.Posix.Temp.ByteString
+ System.Posix.Terminal System.Posix.Terminal.ByteString
+hidden-modules: System.Posix.Directory.Common
+ System.Posix.DynamicLinker.Common System.Posix.Files.Common
+ System.Posix.IO.Common System.Posix.Process.Common
+ System.Posix.Terminal.Common
+abi: 416bbf4a68812f768d46e0603efc98e6
+trusted: False
+import-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/unix-
+library-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/unix-
+data-dir: /opt/ghc/head/share/x86_64-linux-ghc-7.11.20151213/unix-
+hs-libraries: HSunix-
+ rt util dl pthread
+include-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/unix-
+ HsUnix.h execvpe.h
+ base- bytestring- time-
+haddock-interfaces: /opt/ghc/head/share/doc/ghc/html/libraries/unix-
+haddock-html: /opt/ghc/head/share/doc/ghc/html/libraries/unix-
+name: time
+id: time-
+key: time-
+license: BSD3
+maintainer: <>
+stability: stable
+synopsis: A time library
+ A time library
+category: System
+author: Ashley Yakeley
+exposed: True
+ Data.Time.Calendar Data.Time.Calendar.MonthDay
+ Data.Time.Calendar.OrdinalDate Data.Time.Calendar.WeekDate
+ Data.Time.Calendar.Julian Data.Time.Calendar.Easter Data.Time.Clock
+ Data.Time.Clock.POSIX Data.Time.Clock.TAI Data.Time.LocalTime
+ Data.Time.Format Data.Time
+hidden-modules: Data.Time.Calendar.Private Data.Time.Calendar.Days
+ Data.Time.Calendar.Gregorian Data.Time.Calendar.JulianYearDay
+ Data.Time.Clock.Scale Data.Time.Clock.UTC Data.Time.Clock.CTimeval
+ Data.Time.Clock.UTCDiff Data.Time.LocalTime.TimeZone
+ Data.Time.LocalTime.TimeOfDay Data.Time.LocalTime.LocalTime
+ Data.Time.Format.Parse Data.Time.Format.Locale
+abi: fa14628fffb7d93741bb88caab63757e
+trusted: False
+import-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/time-
+library-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/time-
+data-dir: /opt/ghc/head/share/x86_64-linux-ghc-7.11.20151213/time-
+hs-libraries: HStime-
+include-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/time-
+ base- deepseq-
+haddock-interfaces: /opt/ghc/head/share/doc/ghc/html/libraries/time-
+haddock-html: /opt/ghc/head/share/doc/ghc/html/libraries/time-
+name: containers
+id: containers-
+key: containers-
+license: BSD3
+synopsis: Assorted concrete container types
+ This package contains efficient general-purpose implementations
+ of various basic immutable container types. The declared cost of
+ each operation is either worst-case or amortized, but remains
+ valid even if structures are shared.
+category: Data Structures
+exposed: True
+ Data.IntMap Data.IntMap.Lazy Data.IntMap.Strict Data.IntSet
+ Data.Map Data.Map.Lazy Data.Map.Strict Data.Set Data.Graph
+ Data.Sequence Data.Tree
+hidden-modules: Data.IntMap.Base Data.IntSet.Base Data.Map.Base
+ Data.Set.Base Data.Utils.BitUtil Data.Utils.StrictFold
+ Data.Utils.StrictPair
+abi: 4ae96ef90aaf7e7c342611448391c5cd
+trusted: False
+import-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/containers-
+library-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/containers-
+data-dir: /opt/ghc/head/share/x86_64-linux-ghc-7.11.20151213/containers-
+hs-libraries: HScontainers-
+ array- base- deepseq- ghc-prim-
+haddock-interfaces: /opt/ghc/head/share/doc/ghc/html/libraries/containers-
+haddock-html: /opt/ghc/head/share/doc/ghc/html/libraries/containers-
+name: bytestring
+id: bytestring-
+key: bytestring-
+license: BSD3
+copyright: Copyright (c) Don Stewart 2005-2009,
+ (c) Duncan Coutts 2006-2015,
+ (c) David Roundy 2003-2005,
+ (c) Jasper Van der Jeugt 2010,
+ (c) Simon Meier 2010-2013.
+maintainer: Duncan Coutts <>
+synopsis: Fast, compact, strict and lazy byte strings with a list interface
+ An efficient compact, immutable byte string type (both strict and lazy)
+ suitable for binary or 8-bit character data.
+ .
+ The 'ByteString' type represents sequences of bytes or 8-bit characters.
+ It is suitable for high performance use, both in terms of large data
+ quantities, or high speed requirements. The 'ByteString' functions follow
+ the same style as Haskell\'s ordinary lists, so it is easy to convert code
+ from using 'String' to 'ByteString'.
+ .
+ Two 'ByteString' variants are provided:
+ .
+ * Strict 'ByteString's keep the string as a single large array. This
+ makes them convenient for passing data between C and Haskell.
+ .
+ * Lazy 'ByteString's use a lazy list of strict chunks which makes it
+ suitable for I\/O streaming tasks.
+ .
+ The @Char8@ modules provide a character-based view of the same
+ underlying 'ByteString' types. This makes it convenient to handle mixed
+ binary and 8-bit character content (which is common in many file formats
+ and network protocols).
+ .
+ The 'Builder' module provides an efficient way to build up 'ByteString's
+ in an ad-hoc way by repeated concatenation. This is ideal for fast
+ serialisation or pretty printing.
+ .
+ There is also a 'ShortByteString' type which has a lower memory overhead
+ and can can be converted to or from a 'ByteString', but supports very few
+ other operations. It is suitable for keeping many short strings in memory.
+ .
+ 'ByteString's are not designed for Unicode. For Unicode strings you should
+ use the 'Text' type from the @text@ package.
+ .
+ These modules are intended to be imported qualified, to avoid name clashes
+ with "Prelude" functions, e.g.
+ .
+ > import qualified Data.ByteString as BS
+category: Data
+author: Don Stewart,
+ Duncan Coutts
+exposed: True
+ Data.ByteString Data.ByteString.Char8 Data.ByteString.Unsafe
+ Data.ByteString.Internal Data.ByteString.Lazy
+ Data.ByteString.Lazy.Char8 Data.ByteString.Lazy.Internal
+ Data.ByteString.Short Data.ByteString.Short.Internal
+ Data.ByteString.Builder Data.ByteString.Builder.Extra
+ Data.ByteString.Builder.Prim Data.ByteString.Builder.Internal
+ Data.ByteString.Builder.Prim.Internal Data.ByteString.Lazy.Builder
+ Data.ByteString.Lazy.Builder.Extras
+ Data.ByteString.Lazy.Builder.ASCII
+hidden-modules: Data.ByteString.Builder.ASCII
+ Data.ByteString.Builder.Prim.Binary
+ Data.ByteString.Builder.Prim.ASCII
+ Data.ByteString.Builder.Prim.Internal.Floating
+ Data.ByteString.Builder.Prim.Internal.UncheckedShifts
+ Data.ByteString.Builder.Prim.Internal.Base16
+abi: d9206a8fe0d44e69be0c04076cabad23
+trusted: False
+import-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/bytestring-
+library-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/bytestring-
+data-dir: /opt/ghc/head/share/x86_64-linux-ghc-7.11.20151213/bytestring-
+hs-libraries: HSbytestring-
+include-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/bytestring-
+ fpstring.h
+ base- deepseq- ghc-prim- integer-gmp-
+haddock-interfaces: /opt/ghc/head/share/doc/ghc/html/libraries/bytestring-
+haddock-html: /opt/ghc/head/share/doc/ghc/html/libraries/bytestring-
+name: deepseq
+id: deepseq-
+key: deepseq-
+license: BSD3
+synopsis: Deep evaluation of data structures
+ This package provides methods for fully evaluating data structures
+ (\"deep evaluation\"). Deep evaluation is often used for adding
+ strictness to a program, e.g. in order to force pending exceptions,
+ remove space leaks, or force lazy I/O to happen. It is also useful
+ in parallel programs, to ensure pending work does not migrate to the
+ wrong thread.
+ .
+ The primary use of this package is via the 'deepseq' function, a
+ \"deep\" version of 'seq'. It is implemented on top of an 'NFData'
+ typeclass (\"Normal Form Data\", data structures with no unevaluated
+ components) which defines strategies for fully evaluating different
+ data types.
+category: Control
+exposed: True
+ Control.DeepSeq
+abi: 63c4c214c0c19484502b3c8b7e42ec69
+trusted: False
+import-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/deepseq-
+library-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/deepseq-
+data-dir: /opt/ghc/head/share/x86_64-linux-ghc-7.11.20151213/deepseq-
+hs-libraries: HSdeepseq-
+ array- base-
+haddock-interfaces: /opt/ghc/head/share/doc/ghc/html/libraries/deepseq-
+haddock-html: /opt/ghc/head/share/doc/ghc/html/libraries/deepseq-
+name: array
+id: array-
+key: array-
+license: BSD3
+synopsis: Mutable and immutable arrays
+ In addition to providing the "Data.Array" module
+ < as specified in the Haskell 2010 Language Report>,
+ this package also defines the classes 'IArray' of
+ immutable arrays and 'MArray' of arrays mutable within appropriate
+ monads, as well as some instances of these classes.
+category: Data Structures
+exposed: True
+ Data.Array Data.Array.Base Data.Array.IArray Data.Array.IO
+ Data.Array.IO.Safe Data.Array.IO.Internals Data.Array.MArray
+ Data.Array.MArray.Safe Data.Array.ST Data.Array.ST.Safe
+ Data.Array.Storable Data.Array.Storable.Safe
+ Data.Array.Storable.Internals Data.Array.Unboxed Data.Array.Unsafe
+abi: 2b2b879a09eb81c865ac273803e08132
+trusted: False
+import-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/array-
+library-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/array-
+data-dir: /opt/ghc/head/share/x86_64-linux-ghc-7.11.20151213/array-
+hs-libraries: HSarray-
+ base-
+haddock-interfaces: /opt/ghc/head/share/doc/ghc/html/libraries/array-
+haddock-html: /opt/ghc/head/share/doc/ghc/html/libraries/array-
+name: filepath
+id: filepath-
+key: filepath-
+license: BSD3
+copyright: Neil Mitchell 2005-2015
+maintainer: Neil Mitchell <>
+synopsis: Library for manipulating FilePaths in a cross platform way.
+ This package provides functionality for manipulating @FilePath@ values, and is shipped with both < GHC> and the < Haskell Platform>. It provides three modules:
+ .
+ * "System.FilePath.Posix" manipulates POSIX\/Linux style @FilePath@ values (with @\/@ as the path separator).
+ .
+ * "System.FilePath.Windows" manipulates Windows style @FilePath@ values (with either @\\@ or @\/@ as the path separator, and deals with drives).
+ .
+ * "System.FilePath" is an alias for the module appropriate to your platform.
+ .
+ All three modules provide the same API, and the same documentation (calling out differences in the different variants).
+category: System
+author: Neil Mitchell <>
+exposed: True
+ System.FilePath System.FilePath.Posix System.FilePath.Windows
+abi: 1e3d9055afc6aa08b97f5ad5f8014ce4
+trusted: False
+import-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/filepath-
+library-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/filepath-
+data-dir: /opt/ghc/head/share/x86_64-linux-ghc-7.11.20151213/filepath-
+hs-libraries: HSfilepath-
+ base-
+haddock-interfaces: /opt/ghc/head/share/doc/ghc/html/libraries/filepath-
+haddock-html: /opt/ghc/head/share/doc/ghc/html/libraries/filepath-
+name: base
+id: base-
+key: base-
+license: BSD3
+synopsis: Basic libraries
+ This package contains the "Prelude" and its support libraries,
+ and a large collection of useful libraries ranging from data
+ structures to parsing combinators and debugging utilities.
+category: Prelude
+exposed: True
+ Control.Applicative Control.Arrow Control.Category
+ Control.Concurrent Control.Concurrent.Chan Control.Concurrent.MVar
+ Control.Concurrent.QSem Control.Concurrent.QSemN Control.Exception
+ Control.Exception.Base Control.Monad Control.Monad.Fail
+ Control.Monad.Fix Control.Monad.Instances Control.Monad.IO.Class
+ Control.Monad.ST Control.Monad.ST.Lazy Control.Monad.ST.Lazy.Safe
+ Control.Monad.ST.Lazy.Unsafe Control.Monad.ST.Safe
+ Control.Monad.ST.Strict Control.Monad.ST.Unsafe Control.Monad.Zip
+ Data.Bifunctor Data.Bits Data.Bool Data.Char Data.Coerce
+ Data.Complex Data.Data Data.Dynamic Data.Either Data.Eq Data.Fixed
+ Data.Foldable Data.Function Data.Functor Data.Functor.Identity
+ Data.IORef Data.Int Data.Ix Data.Kind Data.List Data.List.NonEmpty
+ Data.Maybe Data.Monoid Data.Ord Data.Proxy Data.Ratio
+ Data.Semigroup Data.STRef Data.STRef.Lazy Data.STRef.Strict
+ Data.String Data.Traversable Data.Tuple Data.Type.Bool
+ Data.Type.Coercion Data.Type.Equality Data.Typeable
+ Data.Typeable.Internal Data.Unique Data.Version Data.Void Data.Word
+ Debug.Trace Foreign Foreign.C Foreign.C.Error Foreign.C.String
+ Foreign.C.Types Foreign.Concurrent Foreign.ForeignPtr
+ Foreign.ForeignPtr.Safe Foreign.ForeignPtr.Unsafe Foreign.Marshal
+ Foreign.Marshal.Alloc Foreign.Marshal.Array Foreign.Marshal.Error
+ Foreign.Marshal.Pool Foreign.Marshal.Safe Foreign.Marshal.Unsafe
+ Foreign.Marshal.Utils Foreign.Ptr Foreign.Safe Foreign.StablePtr
+ Foreign.Storable GHC.Arr GHC.Base GHC.Char GHC.Conc GHC.Conc.IO
+ GHC.Conc.Signal GHC.Conc.Sync GHC.ConsoleHandler GHC.Constants
+ GHC.Desugar GHC.Enum GHC.Environment GHC.Err GHC.Exception
+ GHC.ExecutionStack GHC.ExecutionStack.Internal GHC.Exts
+ GHC.Fingerprint GHC.Fingerprint.Type GHC.Float
+ GHC.Float.ConversionUtils GHC.Float.RealFracMethods GHC.Foreign
+ GHC.ForeignPtr GHC.GHCi GHC.Generics GHC.IO GHC.IO.Buffer
+ GHC.IO.BufferedIO GHC.IO.Device GHC.IO.Encoding
+ GHC.IO.Encoding.CodePage GHC.IO.Encoding.Failure
+ GHC.IO.Encoding.Iconv GHC.IO.Encoding.Latin1 GHC.IO.Encoding.Types
+ GHC.IO.Encoding.UTF16 GHC.IO.Encoding.UTF32 GHC.IO.Encoding.UTF8
+ GHC.IO.Exception GHC.IO.FD GHC.IO.Handle GHC.IO.Handle.FD
+ GHC.IO.Handle.Internals GHC.IO.Handle.Text GHC.IO.Handle.Types
+ GHC.IO.IOMode GHC.IO.Unsafe GHC.IOArray GHC.IORef GHC.Int GHC.List
+ GHC.MVar GHC.Natural GHC.Num GHC.OldList GHC.OverloadedLabels
+ GHC.PArr GHC.Pack GHC.Profiling GHC.Ptr GHC.Read GHC.Real
+ GHC.RTS.Flags GHC.ST GHC.StaticPtr GHC.STRef GHC.Show GHC.Stable
+ GHC.Stack GHC.Stack.CCS GHC.Stack.Types GHC.Stats GHC.Storable
+ GHC.TopHandler GHC.TypeLits GHC.Unicode GHC.Weak GHC.Word Numeric
+ Numeric.Natural Prelude System.CPUTime System.Console.GetOpt
+ System.Environment System.Exit System.IO System.IO.Error
+ System.IO.Unsafe System.Info System.Mem System.Mem.StableName
+ System.Mem.Weak System.Posix.Internals System.Posix.Types
+ System.Timeout Text.ParserCombinators.ReadP
+ Text.ParserCombinators.ReadPrec Text.Printf Text.Read Text.Read.Lex
+ Text.Show Text.Show.Functions Unsafe.Coerce GHC.Event
+hidden-modules: Control.Monad.ST.Imp Control.Monad.ST.Lazy.Imp
+ Data.OldList Foreign.ForeignPtr.Imp
+ System.Environment.ExecutablePath GHC.Event.Arr GHC.Event.Array
+ GHC.Event.Clock GHC.Event.Control GHC.Event.EPoll
+ GHC.Event.IntTable GHC.Event.Internal GHC.Event.KQueue
+ GHC.Event.Manager GHC.Event.PSQ GHC.Event.Poll GHC.Event.Thread
+ GHC.Event.TimerManager GHC.Event.Unique
+abi: 472df40e39128303d276cf121f250e89
+trusted: False
+import-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/base-
+library-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/base-
+data-dir: /opt/ghc/head/share/x86_64-linux-ghc-7.11.20151213/base-
+hs-libraries: HSbase-
+include-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/base-
+ HsBase.h
+ ghc-prim- integer-gmp- rts
+haddock-interfaces: /opt/ghc/head/share/doc/ghc/html/libraries/base-
+haddock-html: /opt/ghc/head/share/doc/ghc/html/libraries/base-
+name: integer-gmp
+id: integer-gmp-
+key: integer-gmp-
+license: BSD3
+synopsis: Integer library based on GMP
+category: Numeric, Algebra
+author: Herbert Valerio Riedel
+exposed: True
+ GHC.Integer GHC.Integer.Logarithms GHC.Integer.Logarithms.Internals
+ GHC.Integer.GMP.Internals
+hidden-modules: GHC.Integer.Type
+abi: 32980bb533b4a3996f3424fd198cf767
+trusted: False
+import-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/integer-gmp-
+library-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/integer-gmp-
+data-dir: /opt/ghc/head/share/x86_64-linux-ghc-7.11.20151213/integer-gmp-
+hs-libraries: HSinteger-gmp-
+ gmp
+include-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/integer-gmp-
+ ghc-prim-
+haddock-interfaces: /opt/ghc/head/share/doc/ghc/html/libraries/integer-gmp-
+haddock-html: /opt/ghc/head/share/doc/ghc/html/libraries/integer-gmp-
+name: ghc-prim
+id: ghc-prim-
+key: ghc-prim-
+license: BSD3
+synopsis: GHC primitives
+ GHC primitives.
+category: GHC
+exposed: True
+ GHC.CString GHC.Classes GHC.Debug GHC.IntWord64 GHC.Magic
+ GHC.PrimopWrappers GHC.Tuple GHC.Types GHC.Prim
+abi: 9f5ec1125ba73d164ce53f7b537009e8
+trusted: False
+import-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/ghc-prim-
+library-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/ghc-prim-
+data-dir: /opt/ghc/head/share/x86_64-linux-ghc-7.11.20151213/ghc-prim-
+hs-libraries: HSghc-prim-
+ rts
+haddock-interfaces: /opt/ghc/head/share/doc/ghc/html/libraries/ghc-prim-
+haddock-html: /opt/ghc/head/share/doc/ghc/html/libraries/ghc-prim-
+name: rts
+version: 1.0
+id: rts
+key: rts
+license: BSD3
+exposed: True
+trusted: False
+library-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/rts
+hs-libraries: HSrts Cffi
+ m rt dl
+include-dirs: /opt/ghc/head/lib/ghc-7.11.20151213/include
+ Stg.h
+ld-options: "-Wl,-u,ghczmprim_GHCziTypes_Izh_static_info"
+ "-Wl,-u,ghczmprim_GHCziTypes_Czh_static_info"
+ "-Wl,-u,ghczmprim_GHCziTypes_Fzh_static_info"
+ "-Wl,-u,ghczmprim_GHCziTypes_Dzh_static_info"
+ "-Wl,-u,base_GHCziPtr_Ptr_static_info"
+ "-Wl,-u,ghczmprim_GHCziTypes_Wzh_static_info"
+ "-Wl,-u,base_GHCziInt_I8zh_static_info"
+ "-Wl,-u,base_GHCziInt_I16zh_static_info"
+ "-Wl,-u,base_GHCziInt_I32zh_static_info"
+ "-Wl,-u,base_GHCziInt_I64zh_static_info"
+ "-Wl,-u,base_GHCziWord_W8zh_static_info"
+ "-Wl,-u,base_GHCziWord_W16zh_static_info"
+ "-Wl,-u,base_GHCziWord_W32zh_static_info"
+ "-Wl,-u,base_GHCziWord_W64zh_static_info"
+ "-Wl,-u,base_GHCziStable_StablePtr_static_info"
+ "-Wl,-u,ghczmprim_GHCziTypes_Izh_con_info"
+ "-Wl,-u,ghczmprim_GHCziTypes_Czh_con_info"
+ "-Wl,-u,ghczmprim_GHCziTypes_Fzh_con_info"
+ "-Wl,-u,ghczmprim_GHCziTypes_Dzh_con_info"
+ "-Wl,-u,base_GHCziPtr_Ptr_con_info"
+ "-Wl,-u,base_GHCziPtr_FunPtr_con_info"
+ "-Wl,-u,base_GHCziStable_StablePtr_con_info"
+ "-Wl,-u,ghczmprim_GHCziTypes_False_closure"
+ "-Wl,-u,ghczmprim_GHCziTypes_True_closure"
+ "-Wl,-u,base_GHCziPack_unpackCString_closure"
+ "-Wl,-u,base_GHCziIOziException_stackOverflow_closure"
+ "-Wl,-u,base_GHCziIOziException_heapOverflow_closure"
+ "-Wl,-u,base_ControlziExceptionziBase_nonTermination_closure"
+ "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnMVar_closure"
+ "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnSTM_closure"
+ "-Wl,-u,base_GHCziIOziException_allocationLimitExceeded_closure"
+ "-Wl,-u,base_ControlziExceptionziBase_nestedAtomically_closure"
+ "-Wl,-u,base_GHCziEventziThread_blockedOnBadFD_closure"
+ "-Wl,-u,base_GHCziWeak_runFinalizzerBatch_closure"
+ "-Wl,-u,base_GHCziTopHandler_flushStdHandles_closure"
+ "-Wl,-u,base_GHCziTopHandler_runIO_closure"
+ "-Wl,-u,base_GHCziTopHandler_runNonIO_closure"
+ "-Wl,-u,base_GHCziConcziIO_ensureIOManagerIsRunning_closure"
+ "-Wl,-u,base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure"
+ "-Wl,-u,base_GHCziConcziSync_runSparks_closure"
+ "-Wl,-u,base_GHCziConcziSignal_runHandlersPtr_closure"