Posted to tcl by evilotto at Wed Jul 31 01:52:12 GMT 2013view pretty
proc closure {script} { set cn [list closure $script] coroutine $cn apply [list {} "yield; $script"] return $cn } set a [closure {yield 1; yield 2}] puts [$a] puts $a puts [$a] puts $a puts [$a] puts [$a]