Posted to tcl by Stu at Thu Dec 10 18:37:01 GMT 2009view pretty

proc log {msg} { .t insert end $msg\n; .t see end }                  
proc a {s t} { log "I'm proc a!"; nextStep $s $t }           
proc b {s t} { log "I'm proc b!"; nextStep $s $t }          
proc c {s t} { log "I'm proc c!"; nextStep $s $t }    
proc d {s t} { log "I'm proc d!"; nextStep $s $t }    
proc nextStep {s t} {
  if {[llength $s] == 0} { return }
  after $t  [list [lindex $s 0] [lrange $s 1 end] $t]
}
grid [text .t]
nextStep {c a d b} 1500