HORIZON HASKELLDocslts/ghc-9.14.x3e2d5682026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 9.14.1 · lts/ghc-9.14.x · 3e2d568 · 2026-10-11

Moduleghc-lib-parser-9.14.1.20251220GHC2021

GHC.Types.ForeignCall

  • 9 types
  • 8 values
datadata Safety
#

Constructors

  • PlaySafe

    Might 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.

  • PlayInterruptible

    Like PlaySafe, but additionally the worker thread running this foreign call may be unceremoniously killed, so it must be scheduled on an unbound thread.

  • PlayRisky

    None 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

Instances8Enum, Eq, Data, Show, NFData, Outputable, …
  • Enum SafetyDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Types.ForeignCall
  • Eq SafetyDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Types.ForeignCall
  • Data SafetyDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Types.ForeignCall
  • Show SafetyDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Types.ForeignCall
  • NFData SafetyDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Types.ForeignCall
  • Outputable SafetyDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Types.ForeignCall
  • Binary SafetyDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Types.ForeignCall
  • type Anno Safety = EpaLocationDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Hs.Decls · orphan
datadata CCallTarget
#

How to call a particular function in C-land.

Instances4Eq, Data, NFData, Binary
  • Eq CCallTargetDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Types.ForeignCall
  • Data CCallTargetDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Types.ForeignCall
  • NFData CCallTargetDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Types.ForeignCall
  • Binary CCallTargetDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Types.ForeignCall
datadata CCallConv
#
Instances8Enum, Eq, Data, Show, NFData, Outputable, …
  • Enum CCallConvDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Types.ForeignCall
  • Eq CCallConvDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Types.ForeignCall
  • Data CCallConvDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Types.ForeignCall
  • Show CCallConvDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Types.ForeignCall
  • NFData CCallConvDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Types.ForeignCall
  • Outputable CCallConvDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Types.ForeignCall
  • Binary CCallConvDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Types.ForeignCall
  • type Anno CCallConv = EpaLocationDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Hs.Decls · orphan
datadata Header
#
Instances5Eq, Data, NFData, Outputable, Binary
  • Eq HeaderDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Types.ForeignCall
  • Data HeaderDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Types.ForeignCall
  • NFData HeaderDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Types.ForeignCall
  • Outputable HeaderDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Types.ForeignCall
  • Binary HeaderDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Types.ForeignCall
datadata CType
#

A C type, used in CAPI FFI calls

Instances6Eq, Data, NFData, Outputable, Binary, Anno
  • Eq CTypeDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Types.ForeignCall
  • Data CTypeDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Types.ForeignCall
  • NFData CTypeDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Types.ForeignCall
  • Outputable CTypeDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Types.ForeignCall
  • Binary CTypeDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Types.ForeignCall
  • type Anno CType = SrcSpanAnnPDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Hs.Decls · orphan