This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import scala.concurrent._ | |
import scala.collection.mutable.Builder | |
import scala.collection.generic.CanBuildFrom | |
import language.higherKinds | |
/** | |
* Linearize asynchrnously applies a given function in-order to a sequence of values, producing a Future with the result of the function applications. | |
* Execution of subsequent entries will be aborted if an exception is thrown in the application of the function. | |
*/ | |
def linearize[T, U, C[T] <: Traversable[T]](s: C[T])(f: T => U)(implicit cbf: CanBuildFrom[C[T], U, C[U]], e: ExecutionContext): Future[C[U]] = { |