{-# LANGUAGE ForeignFunctionInterface #-} import Foreign.Ptr import Foreign.C.String foreign import ccall "dynamic" mkFun :: FunPtr (IO ()) -> IO () code :: String code = "\232\14\0\0\0Hello, world!\n\186\14\0\0\0\89\187\1\0\0\0\184\4\0\0\0\205\128\49\192\195" main :: IO () main = withCString code (mkFun . castPtrToFunPtr)