Thank you Gustaf,
Part of my original question, which still stands, was "would it be worth it?"
It seems that the example you provided can be done with XOTcl alone, no need for coroutine. Is there any case where coroutine would actually give some extra power to XOTcl? Forgive me, I am not a C programmer so the concept of NRE or stackless TCL is a little foggy to me.
----- Original Message ----- From: "Gustaf Neumann" neumann@wu-wien.ac.at To: xotcl@alice.wu-wien.ac.at Sent: Tuesday, September 28, 2010 2:49:06 AM GMT -08:00 US/Canada Pacific Subject: Re: [Xotcl] coroutines
On 02.09.10 07:28, Victor Mayevski wrote:
I am wondering if it will be possible to somehow implement coroutines in XOTcl? Is it feasible? Would it be worth it?
Sorry for the late answer. With XOTcl 1.6.* there is no special support for coroutines (one can certainly create Tcl-coroutines and use it).
With 2.0 one can write object oriented coroutines. The new regression test contains already the classical number generator example based on coroutines (see below).
-gustaf neumann
========================================================= Test case number-generator {
Object create numbers {
# set instance variable used in coroutine set :delta 2
:public method ++ {} { yield set i 0 while 1 { yield $i incr i ${:delta} } } }
# create coroutine coroutine nextNumber numbers ++ set ::j 0
# use coroutine for {set i 0} {$i < 10} {incr i} { incr ::j [nextNumber] }
# remove coroutine rename nextNumber {}
? {set ::j} 90 }
_______________________________________________ Xotcl mailing list Xotcl@alice.wu-wien.ac.at http://alice.wu-wien.ac.at/mailman/listinfo/xotcl