The function word allows for the most complete function definition. We'll describe and show examples of all possible attributes in the next section. One key difference between it and the other forms is that function automatically makes its variables local, so /local is not necessary. Omitting /local from the previous example gives us function sum:
number: 108 ; globalsum: function [a b][ number: a + b ; local print number ; local ] ;== func [a b /local number][...]sum 3 5 ;== 8print number + 1 ;== 109 ; global
From the return value after the definition of sum, we can see that number is automatically made local—no conflict can occur between global and local values anymore.
If you really need to, you can force a variable ...