【发布时间】:2011-08-21 16:30:09
【问题描述】:
我目前正在玩 Scalaz 非阻塞期货。承诺。我正在努力使以下函数尾递归:
@tailrec
private def repeat( res: Promise[I] ):Promise[I] =
res map p flatMap {
(b:Boolean) =>
if( b ) repeat( res flatMap f ) else res
}
其中p 是I=>Boolean 类型的谓词,f 是一个并发函数
输入I=>Promise[I]。
该方法在没有注释的情况下编译。
有什么提示吗?谢谢
【问题讨论】:
标签: scala tail-recursion scalaz promise