Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 70ec89744a04da80369b4702b2c37256 > files > 29

ghc-doc-6.10.4-1mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--Rendered using the Haskell Html Library v0.2-->
<HTML
><HEAD
><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
><TITLE
>Distribution.Simple.Compiler</TITLE
><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
></SCRIPT
><SCRIPT TYPE="text/javascript"
>window.onload = function () {setSynopsis("mini_Distribution-Simple-Compiler.html")};</SCRIPT
></HEAD
><BODY
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topbar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
></TD
><TD CLASS="title"
>Cabal-1.6.0.3: A framework for packaging Haskell software</TD
><TD CLASS="topbut"
><A HREF="index.html"
>Contents</A
></TD
><TD CLASS="topbut"
><A HREF="doc-index.html"
>Index</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="modulebar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><FONT SIZE="6"
>Distribution.Simple.Compiler</FONT
></TD
><TD ALIGN="right"
><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="infohead"
>Portability</TD
><TD CLASS="infoval"
>portable</TD
></TR
><TR
><TD CLASS="infohead"
>Maintainer</TD
><TD CLASS="infoval"
>cabal-devel@haskell.org</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><B
>Contents</B
></TD
></TR
><TR
><TD
><DL
><DT
><A HREF="#1"
>Haskell implementations
</A
></DT
><DT
><A HREF="#2"
>Support for package databases
</A
></DT
><DT
><A HREF="#3"
>Support for optimisation levels
</A
></DT
><DT
><A HREF="#4"
>Support for language extensions
</A
></DT
></DL
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Description</TD
></TR
><TR
><TD CLASS="doc"
>This should be a much more sophisticated abstraction than it is. Currently
 it's just a bit of data about the compiler, like it's flavour and name and
 version. The reason it's just data is because currently it has to be in
 <TT
><A HREF="../base/Text-Read.html#t%3ARead"
>Read</A
></TT
> and <TT
><A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
></TT
> so it can be saved along with the LocalBuildInfo. The
 only interesting bit of info it contains is a mapping between language
 extensions and compiler command line flags. This module also defines a
 <TT
><A HREF="Distribution-Simple-Compiler.html#t%3APackageDB"
>PackageDB</A
></TT
> type which is used to refer to package databases. Most compilers
 only know about a single global package collection but GHC has a global and
 per-user one and it lets you create arbitrary other package databases. We do
 not yet fully support this latter feature.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Synopsis</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>module <A HREF="Distribution-Compiler.html"
>Distribution.Compiler</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ACompiler"
>Compiler</A
>  = <A HREF="#v%3ACompiler"
>Compiler</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3AcompilerId"
>compilerId</A
> :: <A HREF="Distribution-Compiler.html#t%3ACompilerId"
>CompilerId</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AcompilerExtensions"
>compilerExtensions</A
> :: [(<A HREF="Language-Haskell-Extension.html#t%3AExtension"
>Extension</A
>, <A HREF="../base/Data-Char.html#t%3AString"
>String</A
>)]</TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AshowCompilerId"
>showCompilerId</A
> :: <A HREF="Distribution-Simple-Compiler.html#t%3ACompiler"
>Compiler</A
> -&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcompilerFlavor"
>compilerFlavor</A
> :: <A HREF="Distribution-Simple-Compiler.html#t%3ACompiler"
>Compiler</A
> -&gt; <A HREF="Distribution-Compiler.html#t%3ACompilerFlavor"
>CompilerFlavor</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcompilerVersion"
>compilerVersion</A
> :: <A HREF="Distribution-Simple-Compiler.html#t%3ACompiler"
>Compiler</A
> -&gt; <A HREF="../base/Data-Version.html#t%3AVersion"
>Version</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3APackageDB"
>PackageDB</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AGlobalPackageDB"
>GlobalPackageDB</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AUserPackageDB"
>UserPackageDB</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ASpecificPackageDB"
>SpecificPackageDB</A
> <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AOptimisationLevel"
>OptimisationLevel</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ANoOptimisation"
>NoOptimisation</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ANormalOptimisation"
>NormalOptimisation</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AMaximumOptimisation"
>MaximumOptimisation</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AflagToOptimisationLevel"
>flagToOptimisationLevel</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="Distribution-Simple-Compiler.html#t%3AOptimisationLevel"
>OptimisationLevel</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AFlag"
>Flag</A
> = <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AextensionsToFlags"
>extensionsToFlags</A
> :: <A HREF="Distribution-Simple-Compiler.html#t%3ACompiler"
>Compiler</A
> -&gt; [<A HREF="Language-Haskell-Extension.html#t%3AExtension"
>Extension</A
>] -&gt; [<A HREF="Distribution-Simple-Compiler.html#t%3AFlag"
>Flag</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunsupportedExtensions"
>unsupportedExtensions</A
> :: <A HREF="Distribution-Simple-Compiler.html#t%3ACompiler"
>Compiler</A
> -&gt; [<A HREF="Language-Haskell-Extension.html#t%3AExtension"
>Extension</A
>] -&gt; [<A HREF="Language-Haskell-Extension.html#t%3AExtension"
>Extension</A
>]</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="1"
><A NAME="1"
>Haskell implementations
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
>module <A HREF="Distribution-Compiler.html"
>Distribution.Compiler</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Compiler"
><A NAME="t%3ACompiler"
></A
></A
><B
>Compiler</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:Compiler"
><A NAME="v%3ACompiler"
></A
></A
><B
>Compiler</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="body" COLSPAN="2"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:compilerId"
><A NAME="v%3AcompilerId"
></A
></A
><B
>compilerId</B
> :: <A HREF="Distribution-Compiler.html#t%3ACompilerId"
>CompilerId</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:compilerExtensions"
><A NAME="v%3AcompilerExtensions"
></A
></A
><B
>compilerExtensions</B
> :: [(<A HREF="Language-Haskell-Extension.html#t%3AExtension"
>Extension</A
>, <A HREF="../base/Data-Char.html#t%3AString"
>String</A
>)]</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Compiler')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Compiler" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Distribution-Simple-Compiler.html#t%3ACompiler"
>Compiler</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="Distribution-Simple-Compiler.html#t%3ACompiler"
>Compiler</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:showCompilerId"
><A NAME="v%3AshowCompilerId"
></A
></A
><B
>showCompilerId</B
> :: <A HREF="Distribution-Simple-Compiler.html#t%3ACompiler"
>Compiler</A
> -&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:compilerFlavor"
><A NAME="v%3AcompilerFlavor"
></A
></A
><B
>compilerFlavor</B
> :: <A HREF="Distribution-Simple-Compiler.html#t%3ACompiler"
>Compiler</A
> -&gt; <A HREF="Distribution-Compiler.html#t%3ACompilerFlavor"
>CompilerFlavor</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:compilerVersion"
><A NAME="v%3AcompilerVersion"
></A
></A
><B
>compilerVersion</B
> :: <A HREF="Distribution-Simple-Compiler.html#t%3ACompiler"
>Compiler</A
> -&gt; <A HREF="../base/Data-Version.html#t%3AVersion"
>Version</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="2"
><A NAME="2"
>Support for package databases
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:PackageDB"
><A NAME="t%3APackageDB"
></A
></A
><B
>PackageDB</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>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.
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:GlobalPackageDB"
><A NAME="v%3AGlobalPackageDB"
></A
></A
><B
>GlobalPackageDB</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:UserPackageDB"
><A NAME="v%3AUserPackageDB"
></A
></A
><B
>UserPackageDB</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:SpecificPackageDB"
><A NAME="v%3ASpecificPackageDB"
></A
></A
><B
>SpecificPackageDB</B
> <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:PackageDB')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:PackageDB" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="Distribution-Simple-Compiler.html#t%3APackageDB"
>PackageDB</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Distribution-Simple-Compiler.html#t%3APackageDB"
>PackageDB</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="Distribution-Simple-Compiler.html#t%3APackageDB"
>PackageDB</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="3"
><A NAME="3"
>Support for optimisation levels
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:OptimisationLevel"
><A NAME="t%3AOptimisationLevel"
></A
></A
><B
>OptimisationLevel</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Some compilers support optimising. Some have different levels.
 For compliers that do not the level is just capped to the level
 they do support.
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:NoOptimisation"
><A NAME="v%3ANoOptimisation"
></A
></A
><B
>NoOptimisation</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:NormalOptimisation"
><A NAME="v%3ANormalOptimisation"
></A
></A
><B
>NormalOptimisation</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:MaximumOptimisation"
><A NAME="v%3AMaximumOptimisation"
></A
></A
><B
>MaximumOptimisation</B
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:OptimisationLevel')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:OptimisationLevel" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Prelude.html#t%3ABounded"
>Bounded</A
> <A HREF="Distribution-Simple-Compiler.html#t%3AOptimisationLevel"
>OptimisationLevel</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Prelude.html#t%3AEnum"
>Enum</A
> <A HREF="Distribution-Simple-Compiler.html#t%3AOptimisationLevel"
>OptimisationLevel</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="Distribution-Simple-Compiler.html#t%3AOptimisationLevel"
>OptimisationLevel</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Distribution-Simple-Compiler.html#t%3AOptimisationLevel"
>OptimisationLevel</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="Distribution-Simple-Compiler.html#t%3AOptimisationLevel"
>OptimisationLevel</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:flagToOptimisationLevel"
><A NAME="v%3AflagToOptimisationLevel"
></A
></A
><B
>flagToOptimisationLevel</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="Distribution-Simple-Compiler.html#t%3AOptimisationLevel"
>OptimisationLevel</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="4"
><A NAME="4"
>Support for language extensions
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:Flag"
><A NAME="t%3AFlag"
></A
></A
><B
>Flag</B
> = <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:extensionsToFlags"
><A NAME="v%3AextensionsToFlags"
></A
></A
><B
>extensionsToFlags</B
> :: <A HREF="Distribution-Simple-Compiler.html#t%3ACompiler"
>Compiler</A
> -&gt; [<A HREF="Language-Haskell-Extension.html#t%3AExtension"
>Extension</A
>] -&gt; [<A HREF="Distribution-Simple-Compiler.html#t%3AFlag"
>Flag</A
>]</TD
></TR
><TR
><TD CLASS="doc"
>For the given compiler, return the flags for the supported extensions.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:unsupportedExtensions"
><A NAME="v%3AunsupportedExtensions"
></A
></A
><B
>unsupportedExtensions</B
> :: <A HREF="Distribution-Simple-Compiler.html#t%3ACompiler"
>Compiler</A
> -&gt; [<A HREF="Language-Haskell-Extension.html#t%3AExtension"
>Extension</A
>] -&gt; [<A HREF="Language-Haskell-Extension.html#t%3AExtension"
>Extension</A
>]</TD
></TR
><TR
><TD CLASS="doc"
>For the given compiler, return the extensions it does not support.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="botbar"
>Produced by <A HREF="http://www.haskell.org/haddock/"
>Haddock</A
> version 2.4.2</TD
></TR
></TABLE
></BODY
></HTML
>