Scala fs2: что из Free C и алгебры делают? - PullRequest
0 голосов
/ 31 января 2020

Когда я go в реализации потоковых операций fs2, я часто вижу fromFreeC и Algebra, используемые там.

Что именно fromFreeC и Algebra делают? Почему и когда они нужны?

Вот пример операции потока fs2 eval, которая оценивает эффекты и возвращает эффективный поток.

def eval[F[_], O](fo: F[O]): Stream[F, O] =
   fromFreeC(Algebra.eval(fo).flatMap(Algebra.output1))
...