c_cos :: Double -> Double c_cos = $(do here <- TH.location inlineExp TH.Unsafe here [t| Double -> Double |] (quickCParser_ "double" parseType) [("x", quickCParser_ "double" parseType)] "cos(x)")