2010-08-09 25 views
5

Trước tiên, tôi là người mới tham gia chương trình LISP.Có thể thực hiện coroutines chỉ sử dụng nguyên thủy LISP không?

Điều tôi muốn nhận là tính năng hợp tác vi luồng. Và điều này có thể đạt được với coroutine. Như tôi biết, Đề án hỗ trợ coroutines thông qua tiếp tục. Tuy nhiên, không phải tất cả việc triển khai Đề án có thể có sự tiếp tục. Nếu vậy, tôi có thể thêm tính năng tiếp tục chỉ với các nguyên thủy LISP không?

+0

Bạn đang nói về loại "LISP" nào? – Svante

+0

@Svante Chủ yếu là Đề án, nhưng có thể là bất kỳ loại LISP nào. Tôi đã nói về các nguyên thủy của LISP mà bất kỳ LISP nào có. Tôi muốn thử thách để thực hiện riêng nếu tôi có thể :) – Eonil

+3

Ah. Vâng, tôi nghĩ rằng bạn có thể có nghĩa là một số phương ngữ cổ đại, một từ thời gian mà mọi người vẫn đánh vần nó trong tất cả các thủ đô. – Svante

Trả lời

5

Bạn có thể. Chương 5 và 6 của Essentials of Programming Languages cho thấy cách triển khai các tiếp tục trong Đề án. Trong cuốn sách của mình On Lisp, Paul Graham giải thích cách thực hiện tiếp tục trong Common Lisp (Chương 20-22).

+0

Những 'sự tiếp tục' cho CL tương đối hạn chế, tôi nghĩ vậy. –

+0

@Rainer Tôi có thể biết về giới hạn này không? – Eonil

+1

@Eonil Trên Lisp có chứa một thực hiện đa luồng về tiếp tục, do đó, đồng-thói quen cũng có thể có thể với việc thực hiện đó. –

Các vấn đề liên quan