# see if semantics of destroy are correctly implemented resource a1() op x (string[*] s) write("hi") x("initial") destroy myresource() final { write("bye") x("final") write("bye after x") } proc x(s) { write("x called from", s) } end