1

我想以透明的方式并行评估任何函数的参数(没有任何源级别更改)。

例如 -
    c = f(a, b)应该导致:
    a并被b并行评估,然后调用f.

一种方法是将上述表达式转换为:

a' = future { a }
b' = future { b }
f' = lift f 

(这样f: a -> b -> c就变成了f: Future<a> -> Future<b> -> Future<c>)这样c' = f'(a', b')

这可以在scala中做到吗?

4

1 回答 1

4

假设您可以使用 Scala 2.10(尚未发布,但直到 Release Candidate 2)并且乐于使用实验性功能,使用 Scala 的宏系统应该很容易实现。

于 2012-11-08T18:22:22.670 回答