I have a function f
and a channel c
def f(i: Int) = Task.now(i + 1)
val c = channel.lift(f)
I would like to continuously apply the function f
an arbitrary number of times (or indefinitely) to the output of the previous computation. I'm providing the initial value.
I can define a process p
val p = Process.emit(1).through(c)
but this only gets executed once.
How can I keep applying c
to the output of the last computation ?