ref: f1cc8a5095c1b7f86ab2d155c6d08ec9f573c5fe
dir: /tests/Foreign.hs/
module Foreign(main) where import Prelude import Foreign.C.Types import Foreign.Ptr import Foreign.Storable foreign import ccall "llabs" iabs :: Int -> IO Int foreign import ccall "sys/errno.h &errno" cerrno :: IO (Ptr CInt) foreign import ccall "&llabs" pabs :: IO (FunPtr (Int -> IO Int)) main :: IO () main = do x1 <- iabs (3 - 8) putStrLn $ show x1 x2 <- iabs (10 - 8) putStrLn $ show x2 p <- cerrno CInt e <- peek p print e