首先,我是LISP新手。是否可以僅使用LISP基元來實現協程?
我想得到的是一個合作的微線程功能。這可以通過協程來獲得。據我所知,Scheme支持通過連續的協程。但是,並非所有的計劃實施都可能有延續。如果是這樣,我可以添加一個只有LISP原語的延續功能嗎?
首先,我是LISP新手。是否可以僅使用LISP基元來實現協程?
我想得到的是一個合作的微線程功能。這可以通過協程來獲得。據我所知,Scheme支持通過連續的協程。但是,並非所有的計劃實施都可能有延續。如果是這樣,我可以添加一個只有LISP原語的延續功能嗎?
你可以。 Essentials of Programming Languages的第5章和第6章展示瞭如何在Scheme中實現延續。在他的書On Lisp中,Paul Graham解釋瞭如何在Common Lisp中實現延續(第20-22章)。
我認爲,CL的這些「延續」是相對有限的。 – 2010-08-09 07:07:46
@Rainer我可以知道限制嗎? – Eonil 2010-08-09 08:22:55
@Eonil On Lisp包含對延續進行多線程的實現,因此在該實現中也可能有一些協同例程。 – 2010-08-09 10:46:26
你在說什麼類型的「LISP」? – Svante 2010-08-09 10:08:34
@Svante主要計劃,但可能是任何類型的LISP。我談到了任何LISP所具有的LISP的「基元」。我想挑戰自己的實現,如果我可以:) – Eonil 2010-08-10 00:57:17
啊。那麼,我認爲你可能指的是一些古老的方言,一種從人們仍然在所有首都拼寫的方言。 – Svante 2010-08-10 02:08:35