
new lock:^[]
new result:^Int

def increment n:Int =
    result!(+ 1 n)

def client1 (n:int) =
         
       lock?[] = ( increment!n
                 | result?m = ( USE1(m)
                              | lock![]
                              | cient1!m))

def client2 (n:int) =
         
       lock?[] = ( increment!n
                 | result?m = ( USE2(m)
                              | lock![]
                              | cient1!m))

run (lock![]|client1!3|client2!5)


