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

Safe HaskellNone
LanguageHaskell2010

Language.C.Inline.Unsafe

Description

unsafe variants of the Language.C.Inline quasi-quoters, to call the C code unsafely in the sense of https://www.haskell.org/onlinereport/haskell2010/haskellch8.html#x15-1590008.4.3. In GHC, unsafe foreign calls are faster than safe foreign calls, but the user must guarantee the control flow will never enter Haskell code (via a callback or otherwise) before the call is done.

This module is intended to be imported qualified:

import qualified Language.C.Inline.Unsafe as CU

Synopsis

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.

block :: QuasiQuoter Source

C code blocks (i.e. statements).