Approach (2) only works when you're in the top-level interpreter, since quote-quote '' (i.e., two single quotes) is only applied when an expression is first parsed. Approach (1) works within functions, while (2) does not, so (1) is a little more general. However, since function definitions are global, there isn't much motivation to define named functions within functions.
There are a couple of ways to do that.
(1)
define(f(x), argx);
(2)
f(x) := ''argx;
Approach (2) only works when you're in the top-level interpreter, since quote-quote
''
(i.e., two single quotes) is only applied when an expression is first parsed. Approach (1) works within functions, while (2) does not, so (1) is a little more general. However, since function definitions are global, there isn't much motivation to define named functions within functions.