summaryrefslogtreecommitdiff
path: root/testsuite/tests/javascript/js-callback04.hs
blob: 0aaffabc19c5b6bcbb6b98268c70992010da88a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import GHC.JS.Prim
import GHC.JS.Foreign.Callback

foreign import javascript "(() => { console.log('javascript'); })"
  js_log :: IO ()

foreign import javascript "((f) => { f(); })"
  js_apply0_ :: Callback (IO ()) -> IO ()

main :: IO ()
main = do
  logH <- syncCallback ThrowWouldBlock (putStrLn "haskell")
  logJ <- syncCallback ThrowWouldBlock js_log

  js_apply0_ logH
  js_apply0_ logJ