anchor.diff:  : .tasks
      cr ['] .task foreachtask ;
   
  -export .tasks .task task: activate build kill awake sleep stop pause user
  +export .tasks .task task: activate build kill awake sleep stop pause user 
  +export 's status
   end-module
  
positive.code: decimal
  
  
  \g Stop current task and transfer control to the task of which
  \g 'status' USER variable is stored in 'follower' USER variable
  \g of current task.
  : pause  ( -- )
     rp@  \ This item will be consumed by READY
     sp@ stacktop !  follower @ follower @ 's status >r ; compile-only  
  
  : resume
     postpone rdrop postpone userp postpone ! ; immediate compile-only
  
  \g Status for sleeping tasks
  : sleeping
     resume pause ;
  
  \g Status for stopped tasks
  : stopped
     resume pause ;
  
  \g Status for ready tasks
  : ready
  
negative.code: 
  \g Status for starting tasks
  : starting
     resume sp0 @ sp! rp0 @ rp! ['] ready status ! ; compile-only
  
  \g Stop current task
  : stop  ( -- )
  