我正在尝试在分布式系统中使用Scheme。这个想法是,一个过程将对某些表达式求值,然后将其传递给另一个过程来完成。

例:

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

将评估为
(do-stuff res1 (f2 x))

在第一个过程中。该过程将表达式作为字符串传递给另一个过程(在另一个节点上),该过程将其评估为
(do-stuff res1 res2)

想法是通过减少方案表达式的传递来做一个映射,以减少样式工作的分布。这可能吗?任何指针都会有所帮助。 (我正在使用IronScheme btw)。

最佳答案

正如Aslan986所建议的,您需要支持完整的延续。不幸的是,Ironscheme不支持完全延续,而仅支持转义延续,这会导致呼叫堆积。参见Ironscheme的known limitations。此外,您需要序列化延续,以便能够将它们从一个进程传递到另一个进程。通常,这并非总是可能的,只有很少的Scheme系统对此提供支持。一个示例是Gambit-C。有一个演示文稿,显示了如何实现distributed computing系统。

10-06 12:44