| Cabal-1.2.4.0: A framework for packaging Haskell software | Source code | Contents | Index

Distribution.Simple.Compiler

Portability | portable
Stability | alpha
Maintainer | Isaac 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)] |

Instances

Read Compiler
Show Compiler

showCompilerId :: Compiler -> String | Source

compilerVersion :: Compiler -> Version | Source

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 |

Instances

Read PackageDB
Show PackageDB

Support for language extensions

type Flag = String | Source

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.9