FreeScalaFutureRunner

class FreeScalaFutureRunner(scheduler: ScheduledExecutorService, blockingExecutor: Executor) extends ScalaRunner[FreeScalaDSL, [T] =>> Future[T]]

Runner of FreeScalaDSL that returns a Future.

It is known to be flawed by design in that it might create long (potentially infinite) chains of Promises. This could be solved with a custom implementation of promises/futures that support unregistration of listeners.

On top of that, expect bugs, since the implementation is full of unsafe type casts, because Scala's (including Dotty's) type inference cannot cope with the kind of pattern matches found here.

trait ScalaRunner[FreeScalaDSL, [T] =>> Future[T]]
trait Runner[FreeScalaDSL, [T] =>> Future[T]]
class Object
trait Matchable
class Any

Value members

Methods

override def runScala[A](prg: One -⚬ Val[A]): Future[A]
Definition Classes

Fields

Inherited methods

override def run(prg: One -⚬ Done): Future[Unit]
Definition Classes
Inherited from
ScalaRunner