尾の回復とスカラズの約束
-
30-10-2019 - |
質問
私は現在、Scalaz Nonblocking Futuresなどで遊んでいます。約束。私は次の関数を尾を回復的にするのに苦労しています:
@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]
.
メソッドは注釈なしでコンパイルされます。
ヒントはありますか?ありがとう
正しい解決策はありません
所属していません StackOverflow