x
x
x


Do so in a way which:

 does not involve string manipulation of the input source code
 is plausibly extensible to a runtime-chosen set of bindings rather than just x
 does not make x a global variable


or note that these are impossible.



See also

 For more general examples and language-specific details, see Eval.
 Dynamic variable names is a similar task.


     compiled = code(' define("triple(x)") :(a);triple triple = 3 * x :(return)')  :<compiled>
a    x = 1
     first = triple(x)
     x = 3
     output = triple(x) - first  
end