3

我正在尝试在分布式系统中使用 Scheme。这个想法是一个进程将评估一些表达式并将其传递给另一个进程以完成。

例子:

(do-stuff (f1 x) (f2 x))

将评估为

(do-stuff res1 (f2 x))

在第一个过程中。该进程将表达式作为字符串传递给另一个进程(在另一个节点上),该进程会将其计算为

(do-stuff res1 res2)

想法是做一个 map reduce 风格的工作分布,但是通过传递方案表达式。这可能吗?任何指针都会有所帮助。(顺便说一句,我正在使用 IronScheme)。

4

2 回答 2

1

正如Aslan986建议的那样,您需要对完整延续的支持。不幸的是 Ironscheme 不支持完整的延续,而只支持转义延续,这会使调用堆栈增加。请参阅 Ironscheme 的已知限制。此外,您需要序列化延续,以便能够将它们从一个进程传递到另一个进程。一般来说,这并不总是可能的,只有少数 Scheme 系统支持这一点。一个例子是Gambit-C。有一个演示文稿展示了如何实现分布式计算系统。

于 2012-06-13T10:06:04.583 回答
0

这不是一个真正的答案,而只是一个提示。

您是否尝试过延续?这里

我认为可以做你需要的。

于 2012-05-10T22:12:27.157 回答