如何使用Idris JavaScript FFI访问JavaScript全局变量?

时间:2018-02-12 01:54:54

标签: javascript ffi idris

我正在尝试将Idris与Nativescript一起使用,使用Idris JavaScript FFI并使用JavaScript作为codegen目标。但是,似乎Nativescript使用全局变量,例如名为global的对象。我如何能够在Idris中使用该对象?

2 个答案:

答案 0 :(得分:1)

你可以使用FFI编写单独的getter和setter函数(当然都在JS_IO中),然后你可以开始想出你想要构建的任何抽象:

getVar : JS_IO String
getVar = foreign FFI_JS "globalVar" (JS_IO String)

setVar : String -> JS_IO ()
setVar = foreign FFI_JS "globalVar = %0"  (String -> JS_IO ())

答案 1 :(得分:0)

邮件列表上有人建议这样做,并且有效。

只是,使用do notation:

global <- foreign FFI_JS "global" (JS_IO Ptr)