小编Hol*_*oed的帖子

GHCJS:如何使用FFI导入高阶javascript函数?

如何在GHCJS中导入如下Javascript函数?

xs.subscribe(function(x) { console.log(x) })
Run Code Online (Sandbox Code Playgroud)

我尝试了以下各种组合而没有成功:

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
Run Code Online (Sandbox Code Playgroud)

感谢任何帮助,并链接到GHCJS FFI的文档.

谢谢

javascript haskell reactive-extensions-js rxjs ghcjs

18
推荐指数
1
解决办法
1216
查看次数

如何更改Rx Builder实现以修复堆栈溢出异常?

我正在尝试使用Rx Builder在F#Computation Expression语法中使用Reactive Extension.如何修复它以使它不会破坏堆栈?像下面的Seq示例一样.是否有任何计划提供RxBuilder的实现作为Reactive Extensions的一部分或作为.NET Framework未来版本的一部分?

open System
open System.Linq
open System.Reactive.Linq

type rxBuilder() =    
    member this.Delay f = Observable.Defer f
    member this.Combine (xs: IObservable<_>, ys : IObservable<_>) = 
        Observable.merge xs ys      
    member this.Yield x = Observable.Return x
    member this.YieldFrom (xs:IObservable<_>) = xs

let rx = rxBuilder()

let rec f x = seq { yield x 
                    yield! f (x + 1) }

let rec g x = rx { yield x 
                    yield! g (x + 1) }


//do f 5 …
Run Code Online (Sandbox Code Playgroud)

f# computation-expression system.reactive

11
推荐指数
2
解决办法
1438
查看次数