| Cabal-1.2.2.0: A framework for packaging Haskell software | 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

Constructors

Compiler |

compilerFlavor :: CompilerFlavor |
compilerId :: PackageIdentifier |
compilerExtensions :: [(Extension, Flag)] |

Instances

Read Compiler
Show Compiler

showCompilerId :: Compiler -> String
compilerVersion :: Compiler -> Version
Support for package databases
data PackageDB

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
extensionsToFlags :: Compiler -> [Extension] -> [Flag]
For the given compiler, return the flags for the supported extensions.
unsupportedExtensions :: Compiler -> [Extension] -> [Extension]
For the given compiler, return the flags for the supported extensions.
Produced by Haddock version 0.8