Julia 中的类型化任务

lyo*_*omi 5 julia

在许多其他语言中,我们可以创建通用的异步可迭代类型,例如Go 中的Observable<T>Rx 变体chan T

Julia 的协程抽象Task是一个类似的构造,可以在(轻量级)线程之间传递对象。Julia 是否有方法来注释这些对象的类型?

我想创建一个接受 aTask作为参数的函数,并且能够表达任务发出的对象的类型。例如,如果Task是泛型类型,我会想象:

function foo(socket::Task{String})
    for word in socket
         println(word)
    end
end
Run Code Online (Sandbox Code Playgroud)

for更一般地说,是否存在可使用(或使用start//next的其他方法)进行迭代的对象的抽象类型,done以便我可以在函数签名中进行注释?

Iai*_*ing 1

我不相信现在有这样的事情。

关于你的“更普遍”的问题,目前还没有这样的东西,但它是人们想要的东西。是一个人们讨论想法和可能性的问题。