Instances3Eq, Outputable, Binary
Eq ForeignCallDefined in ghc-9.10.3 · GHC.Types.ForeignCallOutputable ForeignCallDefined in ghc-9.10.3 · GHC.Types.ForeignCallBinary ForeignCallDefined in ghc-9.10.3 · GHC.Types.ForeignCall
:: a typeCtrl KGHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05
Moduleghc-9.10.3GHC2021
Eq ForeignCallDefined in ghc-9.10.3 · GHC.Types.ForeignCallOutputable ForeignCallDefined in ghc-9.10.3 · GHC.Types.ForeignCallBinary ForeignCallDefined in ghc-9.10.3 · GHC.Types.ForeignCallPlaySafeMight invoke Haskell GC, or do a call back, or switch threads, etc. So make sure things are tidy before the call. Additionally, in the threaded RTS we arrange for the external call to be executed by a separate OS thread, i.e., _concurrently_ to the execution of other Haskell threads.
PlayInterruptibleLike PlaySafe, but additionally the worker thread running this foreign call may be unceremoniously killed, so it must be scheduled on an unbound thread.
PlayRiskyNone of the above can happen; the call will return without interacting with the runtime system at all. Specifically:
No GC
No call backs
No blocking
No precise exceptions
Enum SafetyDefined in ghc-9.10.3 · GHC.Types.ForeignCallEq SafetyDefined in ghc-9.10.3 · GHC.Types.ForeignCallData SafetyDefined in ghc-9.10.3 · GHC.Types.ForeignCallShow SafetyDefined in ghc-9.10.3 · GHC.Types.ForeignCallOutputable SafetyDefined in ghc-9.10.3 · GHC.Types.ForeignCallBinary SafetyDefined in ghc-9.10.3 · GHC.Types.ForeignCalltype Anno Safety = EpaLocationDefined in ghc-9.10.3 · GHC.Hs.Decls · orphanData CExportSpecDefined in ghc-9.10.3 · GHC.Types.ForeignCallOutputable CExportSpecDefined in ghc-9.10.3 · GHC.Types.ForeignCallBinary CExportSpecDefined in ghc-9.10.3 · GHC.Types.ForeignCalltype Anno CExportSpec = EpaLocationDefined in ghc-9.10.3 · GHC.Hs.Decls · orphanHow to call a particular function in C-land.
Eq CCallTargetDefined in ghc-9.10.3 · GHC.Types.ForeignCallData CCallTargetDefined in ghc-9.10.3 · GHC.Types.ForeignCallBinary CCallTargetDefined in ghc-9.10.3 · GHC.Types.ForeignCallEnum CCallConvDefined in ghc-9.10.3 · GHC.Types.ForeignCallEq CCallConvDefined in ghc-9.10.3 · GHC.Types.ForeignCallData CCallConvDefined in ghc-9.10.3 · GHC.Types.ForeignCallOutputable CCallConvDefined in ghc-9.10.3 · GHC.Types.ForeignCallBinary CCallConvDefined in ghc-9.10.3 · GHC.Types.ForeignCalltype Anno CCallConv = EpaLocationDefined in ghc-9.10.3 · GHC.Hs.Decls · orphanA C type, used in CAPI FFI calls
AnnKeywordId : AnnOpen '{-# CTYPE',
AnnHeader,AnnVal,
AnnClose '#-}',
Eq CTypeDefined in ghc-9.10.3 · GHC.Types.ForeignCallData CTypeDefined in ghc-9.10.3 · GHC.Types.ForeignCallOutputable CTypeDefined in ghc-9.10.3 · GHC.Types.ForeignCallBinary CTypeDefined in ghc-9.10.3 · GHC.Types.ForeignCalltype Anno CType = SrcSpanAnnPDefined in ghc-9.10.3 · GHC.Hs.Decls · orphan