```kotlin suspend fun echo() = actor { while (...
# coroutines
j
Copy code
kotlin
suspend fun echo() = actor {
    while (true) {
        val ctx = await(it.inbox)
        await(it.reply(ctx, ctx.msg))
    }
}

fun main(args: Array<String>) {
    run {
        val echoTask = spawn(echo())
        val reply = await(echoTask.ask("hi"))
        println(reply)
    }
}