From 9717995c802b9468ae88bda71cc228d43cbbae43 Mon Sep 17 00:00:00 2001 From: vocalbit Date: Wed, 12 Feb 2014 22:32:57 -0800 Subject: [PATCH] Updated GSoC 2014 Ideas (markdown) --- GSoC-2014-Ideas.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GSoC-2014-Ideas.md b/GSoC-2014-Ideas.md index e20050b..5114804 100644 --- a/GSoC-2014-Ideas.md +++ b/GSoC-2014-Ideas.md @@ -14,7 +14,7 @@ The following list of projects are just some ideas that the community and the de **Description:** -Implement proper coroutines that provide light-weight collaborative multi-tasking. The coroutines must be cooperative - this means a coroutine is suspended only when it explicitly calls 'yield'. The coroutines must never be migrated across threads. This means that of all coroutines started from a thread, exactly one is running at any point in time. Other semantic details are to be nailed down as part of the project. +Implement proper coroutines that provide light-weight collaborative multi-tasking. The coroutines must be cooperative - this means a coroutine is suspended only when it explicitly calls 'yield'. The coroutines must never be migrated across threads - this means that of all coroutines started from a thread, exactly one is running at any point in time. Other semantic details are to be nailed down as part of the project. Nimrod already supports "closure iterators" which are comparable to Python's generators. However closure iterators are much less powerful than proper coroutines because they don't allow capturing the full call stack. This means, for instance, that closure iterators cannot be recursive.