// See http://www.tbray.org/ongoing/When/200x/2009/10/26/Messaging $module ParCounter; $use Arithm Box Parallel StdIO System; $public $func NewCounter = t.counter; $public $func Incr t.counter = ; $public $func Count t.counter = s.n; NewCounter = ( ) :: t.counter, , t.counter; $func DoCounting t.counter = ; DoCounting (s.msgbox s.box) = $iter { : e, : s.n, >; }, $fail; Incr (s.msgbox s.box) = ; Count (s.msgbox s.box) = : s.n, s.n; $func Main = e; Main = :: t1, :: t2, :: t3, , , , , , >, ;