</para><para>
To the programmer, Concurrent Haskell introduces no new language constructs;
rather, it appears simply as a library, <ulink
- url="../libraries/base/Control-Concurrent.html">
+ url="&libraryBaseLocation;/Control-Concurrent.html">
Control.Concurrent</ulink>. The functions exported by this
library include:
<itemizedlist>
papers</ulink> are an excellent introduction to what STM is, and how to use
it.</para>
- <para>The main library you need to use STM is <ulink
- url="../libraries/stm/Control-Concurrent-STM.html">
- Control.Concurrent.STM</ulink>. The main features supported are these:
+ <para>The main library you need to use is the <ulink
+ url="http://hackage.haskell.org/package/stm">
+ stm library</ulink>. The main features supported are these:
<itemizedlist>
<listitem><para>Atomic blocks.</para></listitem>
<listitem><para>Transactional variables.</para></listitem>
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
- url="../libraries/parallel/Control-Parallel.html"><literal>Control.Parallel</literal></ulink>:</para>
+ with) <literal>seq</literal>. Both of these are available from the <ulink
+ url="http://hackage.haskell.org/package/parallel">parallel library</ulink>:</para>
<programlisting>
infixr 0 `par`
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="http://hackage.haskell.org/package/parallel">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>
<!-- Emacs stuff:
;;; Local Variables: ***
- ;;; mode: xml ***
;;; sgml-parent-document: ("users_guide.xml" "book" "chapter" "sect1") ***
;;; End: ***
-->