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