Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 04b8279fdc5e703609ad317fcd46531f > files > 27

ghc-lifted-base-devel-0.1.0.3-1.fc15.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Control.Concurrent.Lifted</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Control-Concurrent-Lifted.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Control-Concurrent-Lifted.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">lifted-base-0.1.0.3: lifted IO operations from the base library</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Stability</th><td>experimental</td></tr><tr><th>Maintainer</th><td>Bas van Dijk &lt;v.dijk.bas@gmail.com&gt;</td></tr></table><p class="caption">Control.Concurrent.Lifted</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Concurrent Haskell
</a></li><li><a href="#g:2">Basic concurrency operations
</a></li><li><a href="#g:3">Scheduling
</a><ul><li><a href="#g:4">Blocking
</a></li><li><a href="#g:5">Waiting
</a></li></ul></li><li><a href="#g:6">Communication abstractions
</a></li><li><a href="#g:7">Merging of streams
</a></li><li><a href="#g:8">Bound Threads
</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This is a wrapped version of <code>Control.Concurrent</code> with types generalized
from <code>IO</code> to all monads in either <code><a href="/usr/share/doc/ghc/html/libraries/transformers-base-0.4.1/Control-Monad-Base.html#t:MonadBase">MonadBase</a></code> or <code><a href="/usr/share/doc/ghc/html/libraries/monad-control-0.3.1/Control-Monad-Trans-Control.html#t:MonadBaseControl">MonadBaseControl</a></code>.
</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span>  <a href="#t:ThreadId">ThreadId</a> </li><li class="src short"><a href="#v:myThreadId">myThreadId</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-base-0.4.1/Control-Monad-Base.html#t:MonadBase">MonadBase</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> m =&gt; m <a href="Control-Concurrent-Lifted.html#t:ThreadId">ThreadId</a></li><li class="src short"><a href="#v:fork">fork</a> :: <a href="/usr/share/doc/ghc/html/libraries/monad-control-0.3.1/Control-Monad-Trans-Control.html#t:MonadBaseControl">MonadBaseControl</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> m =&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a> -&gt; m <a href="Control-Concurrent-Lifted.html#t:ThreadId">ThreadId</a></li><li class="src short"><a href="#v:killThread">killThread</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-base-0.4.1/Control-Monad-Base.html#t:MonadBase">MonadBase</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> m =&gt; <a href="Control-Concurrent-Lifted.html#t:ThreadId">ThreadId</a> -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:throwTo">throwTo</a> :: (<a href="/usr/share/doc/ghc/html/libraries/transformers-base-0.4.1/Control-Monad-Base.html#t:MonadBase">MonadBase</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> m, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Control-Exception-Base.html#t:Exception">Exception</a> e) =&gt; <a href="Control-Concurrent-Lifted.html#t:ThreadId">ThreadId</a> -&gt; e -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:yield">yield</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-base-0.4.1/Control-Monad-Base.html#t:MonadBase">MonadBase</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> m =&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:threadDelay">threadDelay</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-base-0.4.1/Control-Monad-Base.html#t:MonadBase">MonadBase</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> m =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a> -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:threadWaitRead">threadWaitRead</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-base-0.4.1/Control-Monad-Base.html#t:MonadBase">MonadBase</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> m =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-Posix-Types.html#t:Fd">Fd</a> -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:threadWaitWrite">threadWaitWrite</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-base-0.4.1/Control-Monad-Base.html#t:MonadBase">MonadBase</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> m =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-Posix-Types.html#t:Fd">Fd</a> -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short">module <a href="Control-Concurrent-MVar-Lifted.html">Control.Concurrent.MVar.Lifted</a></li><li class="src short"><a href="#v:merge">merge</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-base-0.4.1/Control-Monad-Base.html#t:MonadBase">MonadBase</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> m =&gt; [&#945;] -&gt; [&#945;] -&gt; m [&#945;]</li><li class="src short"><a href="#v:nmerge">nmerge</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-base-0.4.1/Control-Monad-Base.html#t:MonadBase">MonadBase</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> m =&gt; [[&#945;]] -&gt; m [&#945;]</li><li class="src short"><a href="#v:forkOS">forkOS</a> :: <a href="/usr/share/doc/ghc/html/libraries/monad-control-0.3.1/Control-Monad-Trans-Control.html#t:MonadBaseControl">MonadBaseControl</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> m =&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a> -&gt; m <a href="Control-Concurrent-Lifted.html#t:ThreadId">ThreadId</a></li><li class="src short"><a href="#v:isCurrentThreadBound">isCurrentThreadBound</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-base-0.4.1/Control-Monad-Base.html#t:MonadBase">MonadBase</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> m =&gt; m <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:runInBoundThread">runInBoundThread</a> :: <a href="/usr/share/doc/ghc/html/libraries/monad-control-0.3.1/Control-Monad-Trans-Control.html#t:MonadBaseControl">MonadBaseControl</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> m =&gt; m &#945; -&gt; m &#945;</li><li class="src short"><a href="#v:runInUnboundThread">runInUnboundThread</a> :: <a href="/usr/share/doc/ghc/html/libraries/monad-control-0.3.1/Control-Monad-Trans-Control.html#t:MonadBaseControl">MonadBaseControl</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> m =&gt; m &#945; -&gt; m &#945;</li></ul></div><div id="interface"><h1 id="g:1">Concurrent Haskell
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:ThreadId" class="def">ThreadId</a>  </p><div class="doc"><p>A <code><a href="Control-Concurrent-Lifted.html#t:ThreadId">ThreadId</a></code> is an abstract type representing a handle to a thread.
<code><a href="Control-Concurrent-Lifted.html#t:ThreadId">ThreadId</a></code> is an instance of <code><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Eq.html#t:Eq">Eq</a></code>, <code><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Ord.html#t:Ord">Ord</a></code> and <code><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Show.html#t:Show">Show</a></code>, where
the <code><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Ord.html#t:Ord">Ord</a></code> instance implements an arbitrary total ordering over
<code><a href="Control-Concurrent-Lifted.html#t:ThreadId">ThreadId</a></code>s. The <code><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Show.html#t:Show">Show</a></code> instance lets you convert an arbitrary-valued
<code><a href="Control-Concurrent-Lifted.html#t:ThreadId">ThreadId</a></code> to string form; showing a <code><a href="Control-Concurrent-Lifted.html#t:ThreadId">ThreadId</a></code> value is occasionally
useful when debugging or diagnosing the behaviour of a concurrent
program.
</p><p><em>Note</em>: in GHC, if you have a <code><a href="Control-Concurrent-Lifted.html#t:ThreadId">ThreadId</a></code>, you essentially have
a pointer to the thread itself.  This means the thread itself can't be
garbage collected until you drop the <code><a href="Control-Concurrent-Lifted.html#t:ThreadId">ThreadId</a></code>.
This misfeature will hopefully be corrected at a later date.
</p><p><em>Note</em>: Hugs does not provide any operations on other threads;
it defines <code><a href="Control-Concurrent-Lifted.html#t:ThreadId">ThreadId</a></code> as a synonym for ().
</p></div><div class="subs instances"><p id="control.i:ThreadId" class="caption collapser" onclick="toggleSection('i:ThreadId')">Instances</p><div id="section.i:ThreadId" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Control-Concurrent-Lifted.html#t:ThreadId">ThreadId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Control-Concurrent-Lifted.html#t:ThreadId">ThreadId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Show.html#t:Show">Show</a> <a href="Control-Concurrent-Lifted.html#t:ThreadId">ThreadId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Typeable.html#t:Typeable">Typeable</a> <a href="Control-Concurrent-Lifted.html#t:ThreadId">ThreadId</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h1 id="g:2">Basic concurrency operations
</h1><div class="top"><p class="src"><a name="v:myThreadId" class="def">myThreadId</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-base-0.4.1/Control-Monad-Base.html#t:MonadBase">MonadBase</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> m =&gt; m <a href="Control-Concurrent-Lifted.html#t:ThreadId">ThreadId</a><a href="src/Control-Concurrent-Lifted.html#myThreadId" class="link">Source</a></p><div class="doc"><p>Generalized version of <code><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Control-Concurrent.html#v:myThreadId">myThreadId</a></code>.
</p></div></div><div class="top"><p class="src"><a name="v:fork" class="def">fork</a> :: <a href="/usr/share/doc/ghc/html/libraries/monad-control-0.3.1/Control-Monad-Trans-Control.html#t:MonadBaseControl">MonadBaseControl</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> m =&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a> -&gt; m <a href="Control-Concurrent-Lifted.html#t:ThreadId">ThreadId</a><a href="src/Control-Concurrent-Lifted.html#fork" class="link">Source</a></p><div class="doc"><p>Generalized version of <code><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Control-Concurrent.html#v:forkIO">forkIO</a></code>.
</p><p>Note that, while the forked computation <code>m ()</code> has access to the captured
 state, all its side-effects in <code>m</code> are discarded. It is run only for its
 side-effects in <code><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a></code>.
</p></div></div><div class="top"><p class="src"><a name="v:killThread" class="def">killThread</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-base-0.4.1/Control-Monad-Base.html#t:MonadBase">MonadBase</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> m =&gt; <a href="Control-Concurrent-Lifted.html#t:ThreadId">ThreadId</a> -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Control-Concurrent-Lifted.html#killThread" class="link">Source</a></p><div class="doc"><p>Generalized version of <code><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Control-Concurrent.html#v:killThread">killThread</a></code>.
</p></div></div><div class="top"><p class="src"><a name="v:throwTo" class="def">throwTo</a> :: (<a href="/usr/share/doc/ghc/html/libraries/transformers-base-0.4.1/Control-Monad-Base.html#t:MonadBase">MonadBase</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> m, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Control-Exception-Base.html#t:Exception">Exception</a> e) =&gt; <a href="Control-Concurrent-Lifted.html#t:ThreadId">ThreadId</a> -&gt; e -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Control-Concurrent-Lifted.html#throwTo" class="link">Source</a></p><div class="doc"><p>Generalized version of <code><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Control-Exception-Base.html#v:throwTo">throwTo</a></code>.
</p></div></div><h1 id="g:3">Scheduling
</h1><div class="top"><p class="src"><a name="v:yield" class="def">yield</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-base-0.4.1/Control-Monad-Base.html#t:MonadBase">MonadBase</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> m =&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Control-Concurrent-Lifted.html#yield" class="link">Source</a></p><div class="doc"><p>Generalized version of <code><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Control-Concurrent.html#v:yield">yield</a></code>.
</p></div></div><h2 id="g:4">Blocking
</h2><h2 id="g:5">Waiting
</h2><div class="top"><p class="src"><a name="v:threadDelay" class="def">threadDelay</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-base-0.4.1/Control-Monad-Base.html#t:MonadBase">MonadBase</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> m =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a> -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Control-Concurrent-Lifted.html#threadDelay" class="link">Source</a></p><div class="doc"><p>Generalized version of <code><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Control-Concurrent.html#v:threadDelay">threadDelay</a></code>.
</p></div></div><div class="top"><p class="src"><a name="v:threadWaitRead" class="def">threadWaitRead</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-base-0.4.1/Control-Monad-Base.html#t:MonadBase">MonadBase</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> m =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-Posix-Types.html#t:Fd">Fd</a> -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Control-Concurrent-Lifted.html#threadWaitRead" class="link">Source</a></p><div class="doc"><p>Generalized version of <code><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Control-Concurrent.html#v:threadWaitRead">threadWaitRead</a></code>.
</p></div></div><div class="top"><p class="src"><a name="v:threadWaitWrite" class="def">threadWaitWrite</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-base-0.4.1/Control-Monad-Base.html#t:MonadBase">MonadBase</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> m =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-Posix-Types.html#t:Fd">Fd</a> -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Control-Concurrent-Lifted.html#threadWaitWrite" class="link">Source</a></p><div class="doc"><p>Generalized version of <code><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Control-Concurrent.html#v:threadWaitWrite">threadWaitWrite</a></code>.
</p></div></div><h1 id="g:6">Communication abstractions
</h1><div class="top"><p class="src">module <a href="Control-Concurrent-MVar-Lifted.html">Control.Concurrent.MVar.Lifted</a></p></div><h1 id="g:7">Merging of streams
</h1><div class="top"><p class="src"><a name="v:merge" class="def">merge</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-base-0.4.1/Control-Monad-Base.html#t:MonadBase">MonadBase</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> m =&gt; [&#945;] -&gt; [&#945;] -&gt; m [&#945;]<a href="src/Control-Concurrent-Lifted.html#merge" class="link">Source</a></p><div class="doc"><p>Generalized version of <code><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Control-Concurrent.html#v:mergeIO">mergeIO</a></code>.
</p></div></div><div class="top"><p class="src"><a name="v:nmerge" class="def">nmerge</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-base-0.4.1/Control-Monad-Base.html#t:MonadBase">MonadBase</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> m =&gt; [[&#945;]] -&gt; m [&#945;]<a href="src/Control-Concurrent-Lifted.html#nmerge" class="link">Source</a></p><div class="doc"><p>Generalized version of <code><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Control-Concurrent.html#v:nmergeIO">nmergeIO</a></code>.
</p></div></div><h1 id="g:8">Bound Threads
</h1><div class="top"><p class="src"><a name="v:forkOS" class="def">forkOS</a> :: <a href="/usr/share/doc/ghc/html/libraries/monad-control-0.3.1/Control-Monad-Trans-Control.html#t:MonadBaseControl">MonadBaseControl</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> m =&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a> -&gt; m <a href="Control-Concurrent-Lifted.html#t:ThreadId">ThreadId</a><a href="src/Control-Concurrent-Lifted.html#forkOS" class="link">Source</a></p><div class="doc"><p>Generalized version of <code><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Control-Concurrent.html#v:forkOS">forkOS</a></code>.
</p><p>Note that, while the forked computation <code>m ()</code> has access to the captured
 state, all its side-effects in <code>m</code> are discarded. It is run only for its
 side-effects in <code><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a></code>.
</p></div></div><div class="top"><p class="src"><a name="v:isCurrentThreadBound" class="def">isCurrentThreadBound</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-base-0.4.1/Control-Monad-Base.html#t:MonadBase">MonadBase</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> m =&gt; m <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Control-Concurrent-Lifted.html#isCurrentThreadBound" class="link">Source</a></p><div class="doc"><p>Generalized version of <code><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Control-Concurrent.html#v:isCurrentThreadBound">isCurrentThreadBound</a></code>.
</p></div></div><div class="top"><p class="src"><a name="v:runInBoundThread" class="def">runInBoundThread</a> :: <a href="/usr/share/doc/ghc/html/libraries/monad-control-0.3.1/Control-Monad-Trans-Control.html#t:MonadBaseControl">MonadBaseControl</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> m =&gt; m &#945; -&gt; m &#945;<a href="src/Control-Concurrent-Lifted.html#runInBoundThread" class="link">Source</a></p><div class="doc"><p>Generalized version of <code><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Control-Concurrent.html#v:runInBoundThread">runInBoundThread</a></code>.
</p></div></div><div class="top"><p class="src"><a name="v:runInUnboundThread" class="def">runInUnboundThread</a> :: <a href="/usr/share/doc/ghc/html/libraries/monad-control-0.3.1/Control-Monad-Trans-Control.html#t:MonadBaseControl">MonadBaseControl</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> m =&gt; m &#945; -&gt; m &#945;<a href="src/Control-Concurrent-Lifted.html#runInUnboundThread" class="link">Source</a></p><div class="doc"><p>Generalized version of <code><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Control-Concurrent.html#v:runInUnboundThread">runInUnboundThread</a></code>.
</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.9.2</p></div></body></html>