x = 10 # global scope variable x y : 2000 # global scope constant y z = 30 # global scope variable z # entering new scope of function f f : @x { # x is overridden as local variable y : 1000 # local constant y overrides global constant y temporarily in this block z += y + x # adds local constant y and local value of x to global value of z } f(42) # back in global scope, x is still 10, y is 2000 again, z is 1072 now. x y z #--- #(10, 2000, 1072)