summaryrefslogtreecommitdiff
path: root/testsuite/tests/th/T13587A.hs
blob: b144cc2bc69eadd861438d62a8cb90bc83e65881 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE QuasiQuotes     #-}

module T13587A where

import Language.Haskell.TH
import Language.Haskell.TH.Syntax

importDoubleToDouble :: String -> Q (TExp (Double -> Double))
importDoubleToDouble fname = do
    n <- newName fname
    d <- forImpD CCall unsafe fname n [t|Double -> Double|]
    addTopDecls [d]
    unsafeTExpCoerce (varE n)