% $Id: NewPortObjectTest.oz,v 1.1 2007/11/13 22:39:46 leavens Exp leavens $ \insert 'NewPortObject.oz' \insert 'TestingNoStop.oz' declare fun {SumAgentMaker} {NewPortObject 0 fun {$ N Msg} case Msg of add(X) then N+X [] get(Z) then Z=N N end end} end % clients can do... declare SumPObj = {SumAgentMaker} {Send SumPObj add(3)} {Send SumPObj add(7)} local Z in {Send SumPObj get(Z)} {Test Z '==' 10} end {Send SumPObj add(27)} {Test {Send SumPObj get($)} '==' 37}