fs2 ストリーム操作の実装に入ると、そこでよく目にしfromFreeC
、Algebra
使用されます。
正確fromFreeC
には何をAlgebra
しますか?なぜ、いつ必要なのですか?
eval
これは、効果を評価して効果的なストリームを返すfs2 ストリーム操作の例です。
def eval[F[_], O](fo: F[O]): Stream[F, O] =
fromFreeC(Algebra.eval(fo).flatMap(Algebra.output1))
fs2 ストリーム操作の実装に入ると、そこでよく目にしfromFreeC
、Algebra
使用されます。
正確fromFreeC
には何をAlgebra
しますか?なぜ、いつ必要なのですか?
eval
これは、効果を評価して効果的なストリームを返すfs2 ストリーム操作の例です。
def eval[F[_], O](fo: F[O]): Stream[F, O] =
fromFreeC(Algebra.eval(fo).flatMap(Algebra.output1))