================================================================================
foreign: decl
================================================================================

foreign import prim safe "fun" a :: (# A#, A# #)
foreign import capi unsafe "fun" a :: A
foreign import ccall interruptible "fun" a :: A
foreign import ccall "fun" a :: A
foreign export stdcall "fun" a :: A
foreign export javascript "fun" a :: A

--------------------------------------------------------------------------------

(haskell
  (declarations
    (foreign_import
      (calling_convention)
      (safety)
      (entity
        (string))
      (signature
        (variable)
        (unboxed_tuple
          (name)
          (name))))
    (foreign_import
      (calling_convention)
      (safety)
      (entity
        (string))
      (signature
        (variable)
        (name)))
    (foreign_import
      (calling_convention)
      (safety)
      (entity
        (string))
      (signature
        (variable)
        (name)))
    (foreign_import
      (calling_convention)
      (entity
        (string))
      (signature
        (variable)
        (name)))
    (foreign_export
      (calling_convention)
      (entity
        (string))
      (signature
        (variable)
        (name)))
    (foreign_export
      (calling_convention)
      (entity
        (string))
      (signature
        (variable)
        (name)))))
