2010-08-09 68 views
5

首先,我是LISP新手。是否可以僅使用LISP基元來實現協程?

我想得到的是一個合作的微線程功能。這可以通過協程來獲得。據我所知,Scheme支持通過連續的協程。但是,並非所有的計劃實施都可能有延續。如果是這樣,我可以添加一個只有LISP原語的延續功能嗎?

+0

你在說什麼類型的「LISP」? – Svante 2010-08-09 10:08:34

+0

@Svante主要計劃,但可能是任何類型的LISP。我談到了任何LISP所具有的LISP的「基元」。我想挑戰自己的實現,如果我可以:) – Eonil 2010-08-10 00:57:17

+3

啊。那麼,我認爲你可能指的是一些古老的方言,一種從人們仍然在所有首都拼寫的方言。 – Svante 2010-08-10 02:08:35

回答

5

你可以。 Essentials of Programming Languages的第5章和第6章展示瞭如何在Scheme中實現延續。在他的書On Lisp中,Paul Graham解釋瞭如何在Common Lisp中實現延續(第20-22章)。

+0

我認爲,CL的這些「延續」是相對有限的。 – 2010-08-09 07:07:46

+0

@Rainer我可以知道限制嗎? – Eonil 2010-08-09 08:22:55

+1

@Eonil On Lisp包含對延續進行多線程的實現,因此在該實現中也可能有一些協同例程。 – 2010-08-09 10:46:26

相關問題