[Haskell-beginners] Improve my FFI code please...

Daniel Fischer daniel.is.fischer at googlemail.com
Fri Jan 21 01:08:41 CET 2011


On Friday 21 January 2011 00:35:02, Sean Charles wrote:
> wiiOpen :: String -> IO (Maybe (Ptr Word8))
> wiiOpen wid = do
>    handle <- withCString wid c_wiimote_open
>    case handle of
>      nullPtr -> return Nothing
>      handle -> return (Just handle)

Unless nullPtr is a macro that gets replaced with a literal by the 
preprocessor, that won't do what you want. "nullPtr" is a generic name and 
matches everything, so you'll always take the first branch (with -Wall, ghc 
should warn about overlapping patterns in that case).



More information about the Beginners mailing list