/* roco nested coroutines example This shows how "ca x" can invoke a different subroutine depending on the location in a scope and what identifiers have been declared so far, and how coroutines can be nested arbitrarily deep. */ co x { iout 100 ac } co co1 { co co2 { ca x /*this will call the x that outputs 100!*/ ac } co x { iout 101 ac } co co3 { ca x /*this will call the x that outputs 101!*/ ac } ca co2 cout 32 /*output a space*/ ca co3 ac } ca co1 ac