<div>Hi Don,</div>
<div>&nbsp;</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp; Sorry ..I&nbsp; wasn&#39;t clear enough.I am trying to determine from the Haskell FFI doc what datatype to use in order to model C&#39;s &quot;void *&quot;, e.g. for mmap <a href="http://www.opengroup.org/onlinepubs/000095399/functions/mmap.html">
http://www.opengroup.org/onlinepubs/000095399/functions/mmap.html</a></div>
<div>&nbsp;</div>
<div>Regards, Vasili</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br><br>&nbsp;</div>
<div><span class="gmail_quote">On 1/16/08, <b class="gmail_sendername">Don Stewart</b> &lt;<a href="mailto:dons@galois.com">dons@galois.com</a>&gt; wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">vigalchin:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;Hello,<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; In the ghc libraries directory I can&#39;t find the Haskell
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;.hs/.lhsthat implements Posix select. ?? I found Select.c.<br><br>In Control.Concurrent<br><br>&nbsp;&nbsp; forkIO<br>&nbsp;&nbsp; threadDelay<br>&nbsp;&nbsp; threadWaitRead<br>&nbsp;&nbsp; threadWaitWrite<br><br>The thread primitives are implemented in terms of select, and give you a
<br>cleaner interface.<br><br>Also, with Control.Concurrent.STM.<br><br>&nbsp;&nbsp; atomically<br>&nbsp;&nbsp; orElse<br>&nbsp;&nbsp; retry<br><br>You can have threads wait on one of a series of alternative events.<br>Using STM, you&#39;ll be able to compose blocks of such code, which you
<br>can&#39;t do with select.<br><br>-- Don<br></blockquote></div><br>