Here is a simpler case of what I want to do .. 1) To function1 pass in (Maybe Int).
2) If "Nothing" then pass nullPtr to C function. 3) If "Just 1", then pass a pointer to a "1" to teh same C function. Thanks, Vasili On Thu, May 1, 2008 at 8:18 PM, Galchin, Vasili <[EMAIL PROTECTED]> wrote: > Sorry .. my example was bad. I want to use "x" .. in then branch where > it occur ... > > e.g. > bonzo :: Maybe Bozo -> IO () > bonzo maybe_bozo = do > case maybe_bozo of > Just (Bozo x) -> x ........ > _ -> ......... > > ?? > > Thanks, V. > > > On Thu, May 1, 2008 at 7:50 PM, Luke Palmer <[EMAIL PROTECTED]> wrote: > > > 2008/5/2 Galchin, Vasili <[EMAIL PROTECTED]>: > > > > > > data Bozo = > > > Bozo { > > > id :: Int > > > } > > > > > > bonzo :: Maybe Bozo -> IO () > > > bonzo maybe_bozo = do > > > if maybe_bozo == (Just (Bozo x)) > > > then > > > return () > > > else > > > return () > > > > bonzo maybe_bozo = > > case maybe_bozo of > > Just (Bozo x) -> return () > > _ -> return () > > > > Or equivalently: > > > > bonzo (Just (Bozo x)) = return () > > bonzo _ = return () > > > > You should watch out for your use of id as a field name, since id is a > > builtin function and you will get ambiguity errors. > > > > Luke > > > >
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe