ReasonML是否具有F#的计算表达式?

sdg*_*sdh 6 monads computation-expression reason

在F#中,我们有计算表达式,它可以在各种计算环境(异步,选项等)中工作时减少样板和嵌套.

  • ReasonML是否具有相同的功能?
  • 如果是这样,语法是什么?

Mar*_*rgo 8

默认情况下,不; 没有计算表达式.Reason只是仍然共享所有OCaml语义的另一种语法,因此通常使用模块,仿函数和组合来实现类似的行为.

但是,Reason和OCaml有ppx重写器,允许扩展语法来实现这类事情.关于异步和等待计算的特殊语法已经存在一个悬而未决的问题.

一些有用的ppx重写器,类似于计算表达式: