// retoor <retoor@molodetz.nl>
import "scheduler" for Scheduler, Future
var step1 = async { |x| x + 10 }
var step2 = async { |x| x * 2 }
var step3 = async { |x| x - 5 }
var result = 5
result = await step1(result)
System.print(result) // expect: 15
result = await step2(result)
System.print(result) // expect: 30
result = await step3(result)
System.print(result) // expect: 25
var pipeline = async { |x|
var r1 = await step1(x)
var r2 = await step2(r1)
var r3 = await step3(r2)
return r3
}
System.print(await pipeline(0)) // expect: 15
System.print(await pipeline(10)) // expect: 35