Commit cfdf2515 authored by Ian Lynagh's avatar Ian Lynagh

Fix more library links in the user guide

parent bfd79605
......@@ -1329,10 +1329,11 @@ case "$1" in
# --------------------------------
# Gets the version number of a library
# Gets the version number of a library.
# If $1 is ghc-prim, then we define LIBRARY_ghc_prim_VERSION as 1.2.3
LIBRARY_$1_VERSION=`grep -i "^version:" libraries/$1/$1.cabal | sed "s/.* //"`
LIBRARY_[]translit([$1], [-], [_])[]_VERSION=`grep -i "^version:" libraries/$1/$1.cabal | sed "s/.* //"`
AC_SUBST(LIBRARY_[]translit([$1], [-], [_])[]_VERSION)
# LocalWords: fi
......@@ -903,6 +903,8 @@ AC_SUBST(BUILD_DOCBOOK_PS)
if grep ' ' compiler/ 2>&1 >/dev/null; then
AC_MSG_ERROR([compiler/ contains tab characters; please remove them])
......@@ -110,7 +110,7 @@ While you really can use this stuff to write fast code,
<para>All these primitive data types and operations are exported by the
library <literal>GHC.Prim</literal>, for which there is
<ulink url="../libraries/ghc-prim/GHC-Prim.html">detailed online documentation</ulink>.
<ulink url="&libraryGhcPrimLocation;/GHC-Prim.html">detailed online documentation</ulink>.
(This documentation is generated from the file <filename>compiler/prelude/primops.txt.pp</filename>.)
......@@ -7489,7 +7489,7 @@ Assertion failures can be caught, see the documentation for the
<para>Any extension from the <literal>Extension</literal> type defined in
may be used. GHC will report an error if any of the requested extensions are not supported.</para>
......@@ -8780,7 +8780,7 @@ r) ->
<title>Special built-in functions</title>
<para>GHC has a few built-in functions with special behaviour. These
are now described in the module <ulink
in the library documentation.</para>
......@@ -24,7 +24,7 @@ Packages
a package. All you need to do is write a simple configuration file, put a
few files in the right places, and you have a package. See the
<ulink url="../Cabal/index.html">Cabal documentation</ulink>
for details, and also the Cabal libraries (<ulink url="../libraries/Cabal/Distribution-Simple.html">Distribution.Simple</ulink>,
for details, and also the Cabal libraries (<ulink url="&libraryCabalLocation;/Distribution-Simple.html">Distribution.Simple</ulink>,
for example).</para>
<sect2 id="using-packages">
......@@ -1044,7 +1044,7 @@ ghc-pkg dot | tred | dot -Tpdf >pkgs.pdf
<para>A package specification is a Haskell record; in particular, it is the
record <ulink
url="../libraries/Cabal/Distribution-InstalledPackageInfo.html#%tInstalledPackageInfo">InstalledPackageInfo</ulink> in the module Distribution.InstalledPackageInfo, which is part of the Cabal package distributed with GHC.</para>
url="&libraryCabalLocation;/Distribution-InstalledPackageInfo.html#%tInstalledPackageInfo">InstalledPackageInfo</ulink> in the module Distribution.InstalledPackageInfo, which is part of the Cabal package distributed with GHC.</para>
<para>An <literal>InstalledPackageInfo</literal> has a human
readable/writable syntax. The functions
......@@ -1180,7 +1180,7 @@ haddock-html: /usr/share/doc/ghc/html/libraries/unix
<para>(string) The type of license under which this package is distributed.
This field is a value of the <ulink
url="../libraries/Cabal/Distribution-License.html#t:License"><literal>License</literal></ulink> type.</para>
url="&libraryCabalLocation;/Distribution-License.html#t:License"><literal>License</literal></ulink> type.</para>
......@@ -61,9 +61,9 @@ the FFI with concurrency</ulink>.</para></listitem>
papers</ulink> are an excellent introduction to what STM is, and how to use
<para>The main library you need to use STM is <ulink
Control.Concurrent.STM</ulink>. The main features supported are these:
<para>The main library you need to use is the <ulink
stm library</ulink>. The main features supported are these:
<listitem><para>Atomic blocks.</para></listitem>
<listitem><para>Transactional variables.</para></listitem>
......@@ -109,8 +109,8 @@ All these features are described in the papers mentioned earlier.
One way to do so is forking threads using Concurrent Haskell (<xref
linkend="concurrent-haskell"/>), but the simplest mechanism for extracting parallelism from pure code is
to use the <literal>par</literal> combinator, which is closely related to (and often used
with) <literal>seq</literal>. Both of these are available from <ulink
with) <literal>seq</literal>. Both of these are available from the <ulink
url="">parallel library</ulink>:</para>
infixr 0 `par`
......@@ -177,8 +177,9 @@ nfib n | n &#60;= 1 = 1
statistics; see <xref linkend="rts-options-gc" />.</para>
<para>More sophisticated combinators for expressing parallelism are
available from the <ulink
url="../libraries/parallel/Control-Parallel-Strategies.html"><literal>Control.Parallel.Strategies</literal></ulink> module.
available from the <literal>Control.Parallel.Strategies</literal>
module in the <ulink
url="">parallel package</ulink>.
This module builds functionality around <literal>par</literal>,
expressing more elaborate patterns of parallel computation, such as
parallel <literal>map</literal>.</para>
......@@ -21,4 +21,6 @@
<!ENTITY win32-dll SYSTEM "win32-dlls.xml">
<!ENTITY ffi-chap SYSTEM "ffi-chap.xml">
<!ENTITY shared_libs SYSTEM "shared_libs.xml">
<!ENTITY libraryBaseLocation "../libraries/base-@LIBRARY_base_VERSION@">
<!ENTITY libraryBaseLocation "../libraries/base-@LIBRARY_base_VERSION@">
<!ENTITY libraryCabalLocation "../libraries/Cabal-@LIBRARY_Cabal_VERSION@">
<!ENTITY libraryGhcPrimLocation "../libraries/ghc-prim-@LIBRARY_ghc_prim_VERSION@">
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment