inline-c-0.9.1.10: Write Haskell source files including C code inline. No FFI required.

Safe Haskell | None
Language | Haskell2010

Language.C.Inline.Interruptible

Description

`interruptible` variants of the Language.C.Inline quasi-quoters, to call interruptible C code. See https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/ffi-chap.html#interruptible-foreign-calls for more information.

This module is intended to be imported qualified:

    import qualified Language.C.Inline.Interruptible as CI

Synopsis

- exp :: QuasiQuoter
- pure :: QuasiQuoter
- block :: QuasiQuoter

# Documentation

exp :: QuasiQuoter Source #

C expressions.

pure :: QuasiQuoter Source #

Variant of `exp`, for use with expressions known to have no side effects.

BEWARE: Use this function with caution, only when you know what you are doing. If an expression does in fact have side-effects, then indiscriminate use of `pure` may endanger referential transparency, and in principle even type safety. Also note that the function may run more than once and that it may run in parallel with itself, given that `unsafeDupablePerformIO` is used to call the provided C code to ensure good performance using the threaded runtime. Please refer to the documentation for `unsafeDupablePerformIO` for more details.

block :: QuasiQuoter Source #

C code blocks (i.e. statements).