Cabal-1.2.3.0: A framework for packaging Haskell softwareSource codeContentsIndex
Distribution.Simple.Compiler
Portabilityportable
Stabilityalpha
MaintainerIsaac Jones <ijones@syntaxpolice.org>
Contents
Haskell implementations
Support for package databases
Support for language extensions
Description
Haskell implementations.
Synopsis
module Distribution.Compiler
data Compiler = Compiler {
compilerFlavor :: CompilerFlavor
compilerId :: PackageIdentifier
compilerExtensions :: [(Extension, Flag)]
}
showCompilerId :: Compiler -> String
compilerVersion :: Compiler -> Version
data PackageDB
= GlobalPackageDB
| UserPackageDB
| SpecificPackageDB FilePath
type Flag = String
extensionsToFlags :: Compiler -> [Extension] -> [Flag]
unsupportedExtensions :: Compiler -> [Extension] -> [Extension]
Haskell implementations
module Distribution.Compiler
data Compiler Source
Constructors
Compiler
compilerFlavor :: CompilerFlavor
compilerId :: PackageIdentifier
compilerExtensions :: [(Extension, Flag)]
show/hide Instances
showCompilerId :: Compiler -> StringSource
compilerVersion :: Compiler -> VersionSource
Support for package databases
data PackageDB Source
Some compilers have a notion of a database of available packages. For some there is just one global db of packages, other compilers support a per-user or an arbitrary db specified at some location in the file system. This can be used to build isloated environments of packages, for example to build a collection of related packages without installing them globally.
Constructors
GlobalPackageDB
UserPackageDB
SpecificPackageDB FilePath
show/hide Instances
Support for language extensions
type Flag = StringSource
extensionsToFlags :: Compiler -> [Extension] -> [Flag]Source
For the given compiler, return the flags for the supported extensions.
unsupportedExtensions :: Compiler -> [Extension] -> [Extension]Source
For the given compiler, return the flags for the supported extensions.
Produced by Haddock version 0.8