{-# LANGUAGE CApiFFI #-}

foreign import ccall safe foo :: Int -> IO Int

-- | 'bar' is a very important thing
foreign import stdcall "baz" bar :: String -> Int -> IO String

foreign import stdcall unsafe "boo"
  -- Here is a comment about my foreign function
  boo :: Int -> Text -> IO Array

foreign import javascript
  baz ::
    String ->
    Int ->
    IO Foo

foreign import {- We use capi here -} capi "pi.h value pi" c_pi :: CDouble

foreign import stdcall {- This is a bad place for a comment -} "dynamic"
  dyn_gluBeginSurface ::
    -- | This 'FunPtr' is extremely dangerous, beware
    FunPtr (Ptr GLUnurbs -> IO ()) ->
    Ptr GLUnurbs ->
    IO ()
