是否可以只使用LISP原语实现协同程序?

是否可以只使用LISP原语实现协同程序?,lisp,scheme,coroutine,continuation-passing,Lisp,Scheme,Coroutine,Continuation Passing,首先,我是一个口齿不清的新手 我想要的是一个协作的微线程功能。这可以通过协同程序实现。正如我所知,Scheme通过continuations支持协同路由。然而,并非所有方案的实施都具有连续性。如果是这样的话,我可以添加一个只有LISP原语的延续功能吗?您可以。的第5章和第6章展示了如何在Scheme中实现延续。Paul Graham在他的书中解释了如何在Common Lisp中实现continuations(第20-22章)。我认为CL的这些“continuations”相对有限。@Rainer

首先,我是一个口齿不清的新手


我想要的是一个协作的微线程功能。这可以通过协同程序实现。正如我所知,Scheme通过continuations支持协同路由。然而,并非所有方案的实施都具有连续性。如果是这样的话,我可以添加一个只有LISP原语的延续功能吗?

您可以。的第5章和第6章展示了如何在Scheme中实现延续。Paul Graham在他的书中解释了如何在Common Lisp中实现continuations(第20-22章)。

我认为CL的这些“continuations”相对有限。@Rainer我能知道这个限制吗?@Eonil On Lisp包含一个多线程continuations的实现,因此,在该实现中,协同例程也可能成为可能。您在谈论哪种“LISP”?@Svante主要是Scheme,但可能是任何类型的LISP。我谈到了任何LISP都有的LISP“原语”。如果可以的话,我想挑战自己去实现:)啊。嗯,我想你可能指的是一些古老的方言,从那时起,人们仍然在所有的首都拼写它。