I am still reading the web pages. Here is what I tried:<br><br>data SigNotify = Signal | None | Thread | ThreadId<br><br><br>instance Storable SigNotify where<br><br>&nbsp;&nbsp; sizeOf _ = (#const sizeof (int))<br><br>&nbsp;&nbsp; alignment _ = 1<br>
<br>&nbsp;&nbsp; poke Signal = (#const SIGEV_SIGNAL)<br><br>&nbsp;&nbsp; poke None = poke (#const SIGEV_NONE)<br><br>&nbsp;&nbsp; poke Thread = poke (#const SIGEV_THREAD)<br><br>&nbsp;&nbsp; poke ThreadId = poke (#const SIGEV_THREAD_ID)<br><br><br>but I got ...<br>
<br>&nbsp;&nbsp;&nbsp; Couldn&#39;t match expected type `Ptr SigNotify&#39;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; against inferred type `SigNotify&#39;<br>&nbsp;&nbsp;&nbsp; In the pattern: Signal<br>&nbsp;&nbsp;&nbsp; In the definition of `poke&#39;: poke Signal = poke (0)<br>&nbsp;&nbsp;&nbsp; In the definition for method `poke&#39;<br>
<br>Basically I want to marshall SigInfo constructors to CInt values. ??<br><br>Regards, Vasili<br><br><br><div class="gmail_quote">On Fri, Jun 20, 2008 at 3:20 PM, Bulat Ziganshin &lt;<a href="mailto:bulat.ziganshin@gmail.com">bulat.ziganshin@gmail.com</a>&gt; wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hello Vasili,<br>
<div class="Ih2E3d"><br>
Friday, June 20, 2008, 11:51:11 PM, you wrote:<br>
&gt; data Bonzo = A | B |C<br>
<br>
</div><div class="Ih2E3d">&gt; How do I write the poke functions and call them?<br>
<br>
</div>instance Storable Bonzo<br>
 &nbsp;poke A = poke 0<br>
 &nbsp;poke B = poke 1<br>
 &nbsp;poke C = poke 4<br>
<br>
call as &quot;poke x&quot;<br>
<br>
probably, you don&#39;t understand differences between OOP classes and<br>
type classes. look at <a href="http://haskell.org/haskellwiki/OOP_vs_type_classes" target="_blank">http://haskell.org/haskellwiki/OOP_vs_type_classes</a><br>
and papers mentioned there<br>
<font color="#888888"><br>
<br>
--<br>
Best regards,<br>
&nbsp;Bulat &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mailto:<a href="mailto:Bulat.Ziganshin@gmail.com">Bulat.Ziganshin@gmail.com</a><br>
<br>
</font></blockquote></div><br>