Here is a simpler case of what I want to do ..<br><br>1) To function1 pass in (Maybe Int).<br><br>2) If "Nothing" then pass nullPtr to C function.<br><br>3) If "Just 1", then pass a pointer to a "1" to teh same C function.<br>
<br>Thanks, Vasili<br><br><br><div class="gmail_quote">On Thu, May 1, 2008 at 8:18 PM, Galchin, Vasili <<a href="mailto:vigalchin@gmail.com">vigalchin@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Sorry .. my example was bad. I want to use "x" .. in then branch where it occur ...<br><br>e.g.<div class="Ih2E3d"><br> bonzo :: Maybe Bozo -> IO ()<br> bonzo maybe_bozo = do<br></div> case maybe_bozo of<br>
Just (Bozo x) -> x ........<br>
_ -> .........<br><br>??<br><br>Thanks, V. <br><div><div></div><div class="Wj3C7c"> <br><br><div class="gmail_quote">On Thu, May 1, 2008 at 7:50 PM, Luke Palmer <<a href="mailto:lrpalmer@gmail.com" target="_blank">lrpalmer@gmail.com</a>> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">2008/5/2 Galchin, Vasili <<a href="mailto:vigalchin@gmail.com" target="_blank">vigalchin@gmail.com</a>>:<br>
<div>><br>
> data Bozo =<br>
> Bozo {<br>
> id :: Int<br>
> }<br>
><br>
> bonzo :: Maybe Bozo -> IO ()<br>
> bonzo maybe_bozo = do<br>
> if maybe_bozo == (Just (Bozo x))<br>
> then<br>
> return ()<br>
> else<br>
> return ()<br>
<br>
</div>bonzo maybe_bozo =<br>
case maybe_bozo of<br>
Just (Bozo x) -> return ()<br>
_ -> return ()<br>
<br>
Or equivalently:<br>
<div><br>
bonzo (Just (Bozo x)) = return ()<br>
</div>bonzo _ = return ()<br>
<br>
You should watch out for your use of id as a field name, since id is a<br>
builtin function and you will get ambiguity errors.<br>
<font color="#888888"><br>
Luke<br>
</font></blockquote></div><br>
</div></div></blockquote></div><br>