javascript haskell reactive-extensions-js rxjs ghcjs

GHCJS: ¿Cómo importo una función javascript de alto orden usando FFI?



haskell reactive-extensions-js (1)

Gracias a los chicos del canal de IRC de GHCJS obtuve la respuesta:

foreign import javascript safe "$1.subscribe($2)" rx_subscribe :: Observable a -> JSFun (a -> IO()) -> IO Disposable subscribe :: FromJSRef a => (a -> IO()) -> Observable a -> IO Disposable subscribe f xs = syncCallback1 True True f'' >>= rx_subscribe xs where f'' x = fromJSRef x >>= f . fromJust

Gracias

¿Cómo importo en GHCJS una función de Javascript como la siguiente?

xs.subscribe(function(x) { console.log(x) })

Probé varias combinaciones de lo siguiente sin éxito:

data Observable_ data Disposable_ type Observable a = JSRef Observable_ type Disposable = JSRef () foreign import javascript unsafe "$1.subscribe($2)" rx_subscribe :: Observable a -> JSRef (a -> IO()) -> IO Disposable

Cualquier ayuda es apreciada, y enlaces a la documentación de la FFI de GHCJS.

Gracias